[NUnit] コレクションの内容が一致するかをテストする

NUnitではコレクションの内容が一致するかどうかをテストするために、以下のメソッドが用意されています。

メソッド 説明
CollectionAssert.AreEqual(期待するコレクション, テストするコレクション) 期待するコレクションと、テストするコレクションの内容および順番が一致している場合、テスト成功
CollectionAssert.AreNotEqual(期待するコレクション, テストするコレクション) 期待するコレクションと、テストするコレクションの内容および順番が一致していない場合、テスト成功

以下に使用例を示します。
(配列とリストでの使用例です)

VB.NETの例

 

<Test>
Public Sub 配列内容が一致するかをテスト()
    Dim 期待値() As String = {"APPLE", "ORANGE", "BANANA"}
    Dim 実際の値() As String = {"APPLE", "ORANGE", "BANANA"}

    CollectionAssert.AreEqual(期待値, 実際の値)
End Sub

<Test>
Public Sub 配列内容が不一致かをテスト()
    Dim 期待値() As String = {"APPLE", "ORANGE", "BANANA"}
    Dim 実際の値() As String = {"APPLE", "ORANGE", "BANANA", "STRAWBERRY"}

    CollectionAssert.AreNotEqual(期待値, 実際の値)
End Sub

<Test>
Public Sub リスト内容が一致するかをテスト()        
    Dim 期待値 As New List(Of String)
    Dim 実際の値 As New List(Of String)


    期待値.AddRange(New String() {"APPLE", "ORANGE", "BANANA"})
    実際の値.AddRange(New String() {"APPLE", "ORANGE", "BANANA"})

    CollectionAssert.AreEqual(期待値, 実際の値)
End Sub

<Test>
Public Sub リスト内容が不一致かをテスト()
    Dim 期待値 As New List(Of String)
    Dim 実際の値 As New List(Of String)

    期待値.AddRange(New String() {"APPLE", "ORANGE", "BANANA"})
    実際の値.AddRange(New String() {"APPLE", "ORANGE", "BANANA", "STARWBERRY"})

    CollectionAssert.AreNotEqual(期待値, 実際の値)
End Sub

C#の例

[Test]
public void 配列内容が一致するかをテスト()
{
    string[] 期待値 = new string[]{"APPLE", "ORANGE", "BANANA"};
    string[] 実際の値 = new string[]{"APPLE", "ORANGE", "BANANA"};

    CollectionAssert.AreEqual(期待値, 実際の値);
}

[Test]
public void 配列内容が不一致かをテスト()
{
    string[] 期待値 = new string[] { "APPLE", "ORANGE", "BANANA" };
    string[] 実際の値 = new string[] { "APPLE", "ORANGE", "BANANA", "STRAWBERRY" };

    CollectionAssert.AreNotEqual(期待値, 実際の値);
}

[Test]
public void リスト内容が一致するかをテスト()
{
    List<string> 期待値 = new List<string>();
    List<string> 実際の値 = new List<string>();

    期待値.AddRange(new string[] { "APPLE", "ORANGE", "BANANA" });
    実際の値.AddRange(new string[] { "APPLE", "ORANGE", "BANANA" });

    CollectionAssert.AreEqual(期待値, 実際の値);
}

[Test]
public void リスト内容が不一致かをテスト()
{
    List<string> 期待値 = new List<string>();
    List<string> 実際の値 = new List<string>();

    期待値.AddRange(new string[] { "APPLE", "ORANGE", "BANANA" });
    実際の値.AddRange(new string[] { "APPLE", "ORANGE", "BANANA", "STARWBERRY" });

    CollectionAssert.AreNotEqual(期待値, 実際の値);
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.