Assert.AreEquivalent メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, Boolean, String, String, String)
2 つのメモリ領域が構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
メモリ領域の要素型。
パラメーター
- expected
- ReadOnlyMemory<T>
テストで想定されるメモリ。
- actual
- ReadOnlyMemory<T>
テスト対象のコードによって生成されるメモリ。
- strict
- Boolean
true場合、比較は厳密モードで実行されます。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(Span<T>, Span<T>, Boolean, String, String, String)
2 つのスパンが構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
スパンの要素型。
パラメーター
- expected
- Span<T>
テストで想定されるスパン。
- actual
- Span<T>
テスト対象のコードによって生成されるスパン。
- strict
- Boolean
true場合、比較は厳密モードで実行されます。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Boolean, String, String, String)
2 つのスパンが構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
スパンの要素型。
パラメーター
- expected
- ReadOnlySpan<T>
テストで想定されるスパン。
- actual
- ReadOnlySpan<T>
テスト対象のコードによって生成されるスパン。
- strict
- Boolean
true場合、比較は厳密モードで実行されます。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(Memory<T>, Memory<T>, Boolean, String, String, String)
2 つのメモリ領域が構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
メモリ領域の要素型。
パラメーター
- expected
- Memory<T>
テストで想定されるメモリ。
- actual
- Memory<T>
テスト対象のコードによって生成されるメモリ。
- strict
- Boolean
true場合、比較は厳密モードで実行されます。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(T, T, Boolean, String, String, String)
2 つのオブジェクト グラフが構造的に等価 (深い等値) であるかどうかをテストし、そうでない場合は例外をスローします。
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 = "")
型パラメーター
- T
比較する値の型。
パラメーター
- expected
- T
比較する最初の値。 これは、テストで想定される値です。
- actual
- T
比較する 2 番目の値。 これは、テスト対象のコードによって生成される値です。
- strict
- Boolean
trueすると、actualがexpectedのランタイム型に存在しないパブリック プロパティまたはフィールドを宣言した場合、または追加のディクショナリ キーがactualに存在する場合、比較は失敗します。
false (既定値) の場合、actualの追加のメンバーキーとディクショナリ キーは無視されます。
expectedとactualのランタイムの種類が同一の場合、このフラグはパブリック メンバーの比較には影響しませんが、ディクショナリの比較時にactualの追加のディクショナリ キーを拒否します。
- message
- String
actualがexpectedと同等でない場合に例外に含めるメッセージ。 メッセージがテスト結果に表示されます。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
例外
expectedとactualが構造的に等しくない場合にスローされます。
適用対象
AreEquivalent<T>(Span<T>, Span<T>, String, String, String)
2 つのスパンが構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
スパンの要素型。
パラメーター
- expected
- Span<T>
テストで想定されるスパン。
- actual
- Span<T>
テスト対象のコードによって生成されるスパン。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(Memory<T>, Memory<T>, String, String, String)
2 つのメモリ領域が構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
メモリ領域の要素型。
パラメーター
- expected
- Memory<T>
テストで想定されるメモリ。
- actual
- Memory<T>
テスト対象のコードによって生成されるメモリ。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(T, T, String, String, String)
2 つのオブジェクト グラフが構造的に等価 (深い等値) であるかどうかをテストし、そうでない場合は例外をスローします。
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 = "")
型パラメーター
- T
比較する値の型。
パラメーター
- expected
- T
比較する最初の値。 これは、テストで想定される値です。
- actual
- T
比較する 2 番目の値。 これは、テスト対象のコードによって生成される値です。
- message
- String
actualがexpectedと同等でない場合に例外に含めるメッセージ。 メッセージがテスト結果に表示されます。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
例外
expectedとactualが構造的に等しくない場合にスローされます。
注釈
このアサーションは、2 つのオブジェクト グラフの深い順序に依存する構造比較を実行します。 要素の順序に関係なく最上位レベルのコレクションの等価性のみをチェックする AreEquivalent(ICollection, ICollection)とは異なります。
比較規則は次のとおりです。
- 参照と等しい値 (両方の
nullを含む) は等価と見なされます。 - プリミティブ型 (数値、 Boolean、 Char、 String、列挙型、 DateTime、 DateTimeOffset、 TimeSpan、 Guid、 Uri、 Type、 Version) は、 Equals(Object)と比較されます。 それらを出荷するターゲット フレームワークでは、
DateOnly、TimeOnly、Half、Int128、UInt128もプリミティブのように扱われます。 - 値の静的 (コンパイル時) 型がそれ自体の IEquatable<T> を実装する場合、 Equals(T) が使用され、その時点で再帰が停止します。 プレーン Equals(Object) オーバーライドは無視されます。比較子は常にそれらのメンバーに再帰します。
- ディクショナリ (IDictionary、 IDictionary<TKey, TValue>、または IReadOnlyDictionary<TKey,TValue>) はキー セットによって比較され、値は再帰的に比較されます。 参照はソース ディクショナリを介してルーティングされるため、キーの IEqualityComparer<T> は保持されます。
- その他の列挙可能な値 ( Stringを除く) は、要素ごとに反復順序で比較されます。 比較は 順序に依存します。順序が無関係な場合は、コレクション自体に AreEquivalent(ICollection, ICollection) を使用します。
- その他の参照型は、すべてのパブリック インスタンス プロパティ (パブリック getter とインデックス パラメーターなし) とパブリック インスタンス フィールドを繰り返して比較されます。 静的メンバー、非パブリック メンバー、およびインデックス付きメンバーは無視されます。
- 参照サイクルは、(予想される、実際の) ペアごとに最大 1 回追跡され、走査されます。 同じメカニズムによってグラフ トポロジが適用されます。一方の側の同じ参照が他方の側の異なる参照とペアになっている場合、アサーションは失敗します。
- 評価中にユーザー定義の Equals(T)、メンバー ゲッター、またはディクショナリ アクセス (
TryGetValue、ContainsKey、または列挙) がスローされた場合、アサーションは例外の種類とメッセージを説明するメッセージで失敗します。 - 比較は、異常に深いオブジェクト グラフの StackOverflowException を回避するために、有界再帰深度の後に停止し、その状態をアサーションエラーとして報告します。
適用対象
AreEquivalent<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, String, String, String)
2 つのスパンが構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
スパンの要素型。
パラメーター
- expected
- ReadOnlySpan<T>
テストで想定されるスパン。
- actual
- ReadOnlySpan<T>
テスト対象のコードによって生成されるスパン。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。
適用対象
AreEquivalent<T>(ReadOnlyMemory<T>, ReadOnlyMemory<T>, String, String, String)
2 つのメモリ領域が構造的に等価であるかどうかをテストします (深い順序に依存する要素の比較)。
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 = "")
型パラメーター
- T
メモリ領域の要素型。
パラメーター
- expected
- ReadOnlyMemory<T>
テストで想定されるメモリ。
- actual
- ReadOnlyMemory<T>
テスト対象のコードによって生成されるメモリ。
- message
- String
アサーションが失敗したときに例外に含めるメッセージ。
- expectedExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された、予期される構文式。 ユーザーは、このパラメーターの値を渡さないでください。
- actualExpression
- String
呼び出し元の引数式を介してコンパイラによって指定された実際の構文式。 ユーザーは、このパラメーターの値を渡さないでください。