Assert.AreEquivalent Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, Boolean, String, String, String) |
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(Span<T>, Span<T>, Boolean, String, String, String) |
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Boolean, String, String, String) |
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(Memory<T>, Memory<T>, Boolean, String, String, String) |
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(T, T, Boolean, String, String, String) |
Verifica se due oggetti grafici sono strutturalmente equivalenti (uguaglianza profonda) e genera un'eccezione in caso contrario. |
| AreEquivalent<T>(Span<T>, Span<T>, String, String, String) |
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(Memory<T>, Memory<T>, String, String, String) |
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(T, T, String, String, String) |
Verifica se due oggetti grafici sono strutturalmente equivalenti (uguaglianza profonda) e genera un'eccezione in caso contrario. |
| AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, String, String, String) |
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
| AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, String, String, String) |
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi). |
AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, Boolean, String, String, String)
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(ReadOnlyMemory<T> expected, ReadOnlyMemory<T> actual, bool strict, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : ReadOnlyMemory<'T> * ReadOnlyMemory<'T> * bool * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As ReadOnlyMemory(Of T), actual As ReadOnlyMemory(Of T), strict As Boolean, Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento delle aree di memoria.
Parametri
- expected
- ReadOnlyMemory<T>
Memoria prevista dal test.
- actual
- ReadOnlyMemory<T>
Memoria prodotta dal codice sottoposto a test.
- strict
- Boolean
Quando true, il confronto viene eseguito in modalità strict.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(Span<T>, Span<T>, Boolean, String, String, String)
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(Span<T> expected, Span<T> actual, bool strict, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : Span<'T> * Span<'T> * bool * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As Span(Of T), actual As Span(Of T), strict As Boolean, Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento dell'intervallo.
Parametri
- expected
- Span<T>
L'intervallo previsto dal test.
- actual
- Span<T>
Intervallo prodotto dal codice sottoposto a test.
- strict
- Boolean
Quando true, il confronto viene eseguito in modalità strict.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Boolean, String, String, String)
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(ReadOnlySpan<T> expected, ReadOnlySpan<T> actual, bool strict, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : ReadOnlySpan<'T> * ReadOnlySpan<'T> * bool * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As ReadOnlySpan(Of T), actual As ReadOnlySpan(Of T), strict As Boolean, Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento dell'intervallo.
Parametri
- expected
- ReadOnlySpan<T>
L'intervallo previsto dal test.
- actual
- ReadOnlySpan<T>
Intervallo prodotto dal codice sottoposto a test.
- strict
- Boolean
Quando true, il confronto viene eseguito in modalità strict.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(Memory<T>, Memory<T>, Boolean, String, String, String)
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(Memory<T> expected, Memory<T> actual, bool strict, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : Memory<'T> * Memory<'T> * bool * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As Memory(Of T), actual As Memory(Of T), strict As Boolean, Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento delle aree di memoria.
Parametri
- expected
- Memory<T>
Memoria prevista dal test.
- actual
- Memory<T>
Memoria prodotta dal codice sottoposto a test.
- strict
- Boolean
Quando true, il confronto viene eseguito in modalità strict.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(T, T, Boolean, String, String, String)
- Origine:
- Assert.AreEquivalent.cs
Verifica se due oggetti grafici sono strutturalmente equivalenti (uguaglianza profonda) e genera un'eccezione in caso contrario.
public static void AreEquivalent<T>(T? expected, T? actual, bool strict, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : 'T * 'T * bool * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As T, actual As T, strict As Boolean, Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di valori da confrontare.
Parametri
- expected
- T
Primo valore da confrontare. Questo è il valore previsto dal test.
- actual
- T
Secondo valore da confrontare. Questo è il valore prodotto dal codice sottoposto a test.
- strict
- Boolean
Quando true, il confronto ha esito negativo se actual dichiara eventuali proprietà o campi pubblici non presenti nel expectedtipo di runtime di o se sono presenti chiavi di dizionario aggiuntive in actual. Quando false (impostazione predefinita), i membri e le chiavi del dizionario aggiuntivi in actual vengono ignorati.
Quando i tipi di runtime di expected e actual sono identici, questo flag non ha alcun effetto sul confronto tra membri pubblici, ma rifiuta comunque chiavi di dizionario aggiuntive durante actual il confronto dei dizionari.
- message
- String
Messaggio da includere nell'eccezione quando actual non è equivalente a expected. Il messaggio viene visualizzato nei risultati del test.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Eccezioni
Generata se expected e actual non sono strutturalmente equivalenti.
Si applica a
AreEquivalent<T>(Span<T>, Span<T>, String, String, String)
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(Span<T> expected, Span<T> actual, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : Span<'T> * Span<'T> * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As Span(Of T), actual As Span(Of T), Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento dell'intervallo.
Parametri
- expected
- Span<T>
L'intervallo previsto dal test.
- actual
- Span<T>
Intervallo prodotto dal codice sottoposto a test.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(Memory<T>, Memory<T>, String, String, String)
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(Memory<T> expected, Memory<T> actual, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : Memory<'T> * Memory<'T> * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As Memory(Of T), actual As Memory(Of T), Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento delle aree di memoria.
Parametri
- expected
- Memory<T>
Memoria prevista dal test.
- actual
- Memory<T>
Memoria prodotta dal codice sottoposto a test.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(T, T, String, String, String)
- Origine:
- Assert.AreEquivalent.cs
Verifica se due oggetti grafici sono strutturalmente equivalenti (uguaglianza profonda) e genera un'eccezione in caso contrario.
public static void AreEquivalent<T>(T? expected, T? actual, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : 'T * 'T * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As T, actual As T, Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di valori da confrontare.
Parametri
- expected
- T
Primo valore da confrontare. Questo è il valore previsto dal test.
- actual
- T
Secondo valore da confrontare. Questo è il valore prodotto dal codice sottoposto a test.
- message
- String
Messaggio da includere nell'eccezione quando actual non è equivalente a expected. Il messaggio viene visualizzato nei risultati del test.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Eccezioni
Generata se expected e actual non sono strutturalmente equivalenti.
Commenti
Questa asserzione esegue un confronto strutturale profondo e sensibile agli ordini di due oggetti grafici. Differisce da AreEquivalent(ICollection, ICollection), che controlla solo l'equivalenza della raccolta di primo livello senza considerare l'ordine degli elementi.
Le regole di confronto sono:
- I valori di riferimento uguali (inclusi entrambi
null) sono considerati equivalenti. - I tipi simili a primitivi (numerici, , , , enums, Boolean, CharStringDateTimeDateTimeOffsetTimeSpanGuid) vengono confrontati con .UriTypeVersionEquals(Object) Nei framework di destinazione che vengono forniti,
DateOnly,TimeOnly,HalfInt128, eUInt128vengono trattati anche come primitivi. - Se il tipo statico (in fase di compilazione) di un valore implementa IEquatable<T> per se stesso, Equals(T) viene usato e la ricorsione si arresta a quel punto. Le sostituzioni semplici Equals(Object) vengono ignorate: l'operatore di confronto si ripete sempre in membri per tali elementi.
- I dizionari (IDictionary, IDictionary<TKey, TValue>o IReadOnlyDictionary<TKey,TValue>) vengono confrontati in base al set di chiavi, con valori confrontati in modo ricorsivo. Le ricerche vengono instradate tramite il dizionario di origine in modo che le IEqualityComparer<T> chiavi vengano mantenute.
- Gli altri enumerabili (esclusi String) vengono confrontati in base all'elemento nell'ordine di iterazione. Il confronto è sensibile all'ordine; se l'ordine è irrilevante, utilizzare AreEquivalent(ICollection, ICollection) nella raccolta stessa.
- Altri tipi di riferimento vengono confrontati ripetendo in tutte le proprietà dell'istanza pubblica (con un getter pubblico e senza parametri di indice) e i campi dell'istanza pubblica. I membri statici, non pubblici e indicizzati vengono ignorati.
- I cicli di riferimento vengono monitorati e attraversati al massimo una volta per ogni coppia (prevista, effettiva). Lo stesso meccanismo applica la topologia del grafo: se lo stesso riferimento su un lato è associato a riferimenti diversi dall'altro lato, l'asserzione ha esito negativo.
- Se un getter definito dall'utente Equals(T)o l'accesso al dizionario (
TryGetValue,ContainsKeyo enumerazione) viene generato durante la valutazione, l'asserzione non riesce con un messaggio che descrive il tipo di eccezione e il messaggio. - Il confronto si arresta dopo una profondità di ricorsione limitata per evitare StackOverflowException grafici a oggetti insolitamente profondi e segnala tale condizione come errore di asserzione.
Si applica a
AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, String, String, String)
Verifica se due intervalli sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(ReadOnlySpan<T> expected, ReadOnlySpan<T> actual, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : ReadOnlySpan<'T> * ReadOnlySpan<'T> * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As ReadOnlySpan(Of T), actual As ReadOnlySpan(Of T), Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento dell'intervallo.
Parametri
- expected
- ReadOnlySpan<T>
L'intervallo previsto dal test.
- actual
- ReadOnlySpan<T>
Intervallo prodotto dal codice sottoposto a test.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
Si applica a
AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, String, String, String)
Verifica se due aree di memoria sono strutturalmente equivalenti (confronto di elementi sensibili agli ordini e profondi).
public static void AreEquivalent<T>(ReadOnlyMemory<T> expected, ReadOnlyMemory<T> actual, string? message = "", string expectedExpression = "", string actualExpression = "");
static member AreEquivalent : ReadOnlyMemory<'T> * ReadOnlyMemory<'T> * string * string * string -> unit
Public Shared Sub AreEquivalent(Of T) (expected As ReadOnlyMemory(Of T), actual As ReadOnlyMemory(Of T), Optional message As String = "", Optional expectedExpression As String = "", Optional actualExpression As String = "")
Parametri di tipo
- T
Tipo di elemento delle aree di memoria.
Parametri
- expected
- ReadOnlyMemory<T>
Memoria prevista dal test.
- actual
- ReadOnlyMemory<T>
Memoria prodotta dal codice sottoposto a test.
- message
- String
Messaggio da includere nell'eccezione quando l'asserzione ha esito negativo.
- expectedExpression
- String
Espressione sintattica di prevista come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.
- actualExpression
- String
Espressione sintattica dell'effettivo come specificato dal compilatore tramite l'espressione di argomento del chiamante. Gli utenti non devono passare un valore per questo parametro.