Assert.AreEquivalent Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, Boolean, String, String, String) |
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności). |
| AreEquivalent<T>(Span<T>, Span<T>, Boolean, String, String, String) |
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów). |
| AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Boolean, String, String, String) |
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów). |
| AreEquivalent<T>(Memory<T>, Memory<T>, Boolean, String, String, String) |
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności). |
| AreEquivalent<T>(T, T, Boolean, String, String, String) |
Sprawdza, czy dwa grafy obiektów są strukturalnie równoważne (głęboka równość) i zgłasza wyjątek, jeśli nie są. |
| AreEquivalent<T>(Span<T>, Span<T>, String, String, String) |
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów). |
| AreEquivalent<T>(Memory<T>, Memory<T>, String, String, String) |
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności). |
| AreEquivalent<T>(T, T, String, String, String) |
Sprawdza, czy dwa grafy obiektów są strukturalnie równoważne (głęboka równość) i zgłasza wyjątek, jeśli nie są. |
| AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, String, String, String) |
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów). |
| AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, String, String, String) |
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności). |
AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, Boolean, String, String, String)
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności).
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 = "")
Parametry typu
- T
Typ elementu regionów pamięci.
Parametry
- expected
- ReadOnlyMemory<T>
Pamięć oczekiwana przez test.
- actual
- ReadOnlyMemory<T>
Pamięć wygenerowana przez kod testowany.
- strict
- Boolean
W przypadku true, porównanie jest wykonywane w trybie ścisłym.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(Span<T>, Span<T>, Boolean, String, String, String)
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów).
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 = "")
Parametry typu
- T
Typ elementu rozpiętości.
Parametry
- expected
- Span<T>
Oczekiwany zakres testu.
- actual
- Span<T>
Zakres wygenerowany przez kod testowany.
- strict
- Boolean
W przypadku true, porównanie jest wykonywane w trybie ścisłym.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Boolean, String, String, String)
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów).
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 = "")
Parametry typu
- T
Typ elementu rozpiętości.
Parametry
- expected
- ReadOnlySpan<T>
Oczekiwany zakres testu.
- actual
- ReadOnlySpan<T>
Zakres wygenerowany przez kod testowany.
- strict
- Boolean
W przypadku true, porównanie jest wykonywane w trybie ścisłym.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(Memory<T>, Memory<T>, Boolean, String, String, String)
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności).
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 = "")
Parametry typu
- T
Typ elementu regionów pamięci.
Parametry
- expected
- Memory<T>
Pamięć oczekiwana przez test.
- actual
- Memory<T>
Pamięć wygenerowana przez kod testowany.
- strict
- Boolean
W przypadku true, porównanie jest wykonywane w trybie ścisłym.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(T, T, Boolean, String, String, String)
- Źródło:
- Assert.AreEquivalent.cs
Sprawdza, czy dwa grafy obiektów są strukturalnie równoważne (głęboka równość) i zgłasza wyjątek, jeśli nie są.
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 = "")
Parametry typu
- T
Typ wartości do porównania.
Parametry
- expected
- T
Pierwsza wartość do porównania. Jest to wartość oczekiwana przez test.
- actual
- T
Druga wartość do porównania. Jest to wartość wygenerowana przez kod testowany.
- strict
- Boolean
Gdy trueporównanie zakończy się niepowodzeniem, jeśli actual zadeklarowane są jakiekolwiek właściwości publiczne lub pola, które nie są obecne w expectedtypie środowiska uruchomieniowego, lub jeśli istnieją dodatkowe klucze słownika w systemie actual. Gdy false (ustawienie domyślne), dodatkowe elementy członkowskie i klucze actual słownika są ignorowane.
Gdy typy środowiska uruchomieniowego expected i actual są identyczne, ta flaga nie ma wpływu na porównanie elementów członkowskich publicznych, ale nadal odrzuca dodatkowe klucze słownika podczas actual porównywania słowników.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy actual nie jest odpowiednikiem expectedelementu . Komunikat jest wyświetlany w wynikach testu.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Wyjątki
Wyrzucony, jeśli expected element i actual nie jest strukturalnie równoważny.
Dotyczy
AreEquivalent<T>(Span<T>, Span<T>, String, String, String)
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów).
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 = "")
Parametry typu
- T
Typ elementu rozpiętości.
Parametry
- expected
- Span<T>
Oczekiwany zakres testu.
- actual
- Span<T>
Zakres wygenerowany przez kod testowany.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(Memory<T>, Memory<T>, String, String, String)
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności).
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 = "")
Parametry typu
- T
Typ elementu regionów pamięci.
Parametry
- expected
- Memory<T>
Pamięć oczekiwana przez test.
- actual
- Memory<T>
Pamięć wygenerowana przez kod testowany.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(T, T, String, String, String)
- Źródło:
- Assert.AreEquivalent.cs
Sprawdza, czy dwa grafy obiektów są strukturalnie równoważne (głęboka równość) i zgłasza wyjątek, jeśli nie są.
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 = "")
Parametry typu
- T
Typ wartości do porównania.
Parametry
- expected
- T
Pierwsza wartość do porównania. Jest to wartość oczekiwana przez test.
- actual
- T
Druga wartość do porównania. Jest to wartość wygenerowana przez kod testowany.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy actual nie jest odpowiednikiem expectedelementu . Komunikat jest wyświetlany w wynikach testu.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Wyjątki
Wyrzucony, jeśli expected element i actual nie jest strukturalnie równoważny.
Uwagi
To twierdzenie wykonuje głębokie, wrażliwe na kolejność porównanie strukturalne dwóch grafów obiektów. Różni się on od AreEquivalent(ICollection, ICollection)klasy , która sprawdza tylko równoważność kolekcji najwyższego poziomu bez względu na kolejność elementów.
Reguły porównania to:
- Wartości równe odwołaniu (w tym oba
null) są uważane za równoważne. - Typy podobne do pierwotnych (liczby, Boolean, CharStringwyliczenia, DateTime, DateTimeOffset, TimeSpanGuidUriTypeVersion) są porównywane z .Equals(Object) Na platformach docelowych, które wysyłają je,
DateOnly, ,TimeOnlyHalf,Int128iUInt128są również traktowane jako typ pierwotny. - Jeśli typ statyczny (czas kompilacji) implementuje IEquatable<T> wartość dla siebie, Equals(T) jest używany i rekursja zatrzymuje się w tym momencie. Zwykłe Equals(Object) przesłonięcia są ignorowane — moduł porównujący zawsze powtarza się do elementów członkowskich dla tych elementów.
- Słowniki (IDictionary, IDictionary<TKey, TValue>, lub IReadOnlyDictionary<TKey,TValue>) są porównywane przez zestaw kluczy z wartościami porównywanymi rekursywnie. Wyszukiwania są kierowane za pośrednictwem słownika źródłowego, więc jego IEqualityComparer<T> element dla kluczy jest zachowywany.
- Inne wyliczenia (z wyjątkiem String) są porównywane element-by-element w kolejności iteracji. Porównanie jest wrażliwe na kolejność; jeśli kolejność jest nieistotna, użyj AreEquivalent(ICollection, ICollection) jej w samej kolekcji.
- Inne typy odwołań są porównywane przez powtarzanie do wszystkich właściwości wystąpienia publicznego (z publicznymi parametrami getter i bez parametrów indeksu) i polami wystąpień publicznych. Statyczne, niepubliczone i indeksowane elementy członkowskie są ignorowane.
- Cykle odwołań są śledzone i przechodzine co najwyżej raz na parę (oczekiwaną, rzeczywistą). Ten sam mechanizm wymusza topologię grafów: jeśli to samo odwołanie po jednej stronie jest sparowane z różnymi odwołaniami po drugiej stronie, asercji kończy się niepowodzeniem.
- Jeśli podczas oceniania zgłaszany jest zdefiniowany przez użytkownika Equals(T)element członkowski lub dostęp do słownika (
TryGetValue,ContainsKey, lub wyliczenie), asercja kończy się niepowodzeniem z komunikatem opisującym typ wyjątku i komunikat. - Porównanie zatrzymuje się po ograniczonej głębokości rekursji, aby uniknąć StackOverflowException na nietypowo głębokich wykresach obiektów i zgłasza ten warunek jako błąd asercji.
Dotyczy
AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, String, String, String)
Sprawdza, czy dwa zakresy są strukturalnie równoważne (głębokie, wrażliwe na kolejność porównanie elementów).
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 = "")
Parametry typu
- T
Typ elementu rozpiętości.
Parametry
- expected
- ReadOnlySpan<T>
Oczekiwany zakres testu.
- actual
- ReadOnlySpan<T>
Zakres wygenerowany przez kod testowany.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
Dotyczy
AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, String, String, String)
Sprawdza, czy dwa regiony pamięci są strukturalnie równoważne (głębokie porównanie elementów z uwzględnieniem kolejności).
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 = "")
Parametry typu
- T
Typ elementu regionów pamięci.
Parametry
- expected
- ReadOnlyMemory<T>
Pamięć oczekiwana przez test.
- actual
- ReadOnlyMemory<T>
Pamięć wygenerowana przez kod testowany.
- message
- String
Komunikat do uwzględnienia w wyjątku, gdy potwierdzenie zakończy się niepowodzeniem.
- expectedExpression
- String
Wyrażenie składniowe oczekiwane przez kompilator za pośrednictwem wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.
- actualExpression
- String
Wyrażenie składniowe wartości rzeczywistej podanej przez kompilator za pomocą wyrażenia argumentu wywołującego. Użytkownicy nie powinni przekazywać wartości dla tego parametru.