カスタム汎用リンク リストを作成し、さまざまなメソッドをテストしたいと考えていました。たとえば、Contains メソッドがあります
public bool Contains(T item)
{
lock (this)
{
Node<T> currentNode = firstNode;
while (currentNode != null)
{
if (currentNode.Item != null)
{
if (currentNode.Item.Equals(item))
{
return true;
}
}
currentNode = currentNode.Next;
}
return false;
}
}
MSTest を使用して、このスタブを生成する単体テストを生成しました。TODO 行に何を入力すればよいかわかりません??
public void AddTestHelper<T>()
{
LinkedList<T> target = new LinkedList<T>(); // TODO: Initialize to an appropriate value
T item = default(T); // TODO: Initialize to an appropriate value
target.Add(item);
Assert.AreEqual(target.Contains(item), true);
}
[TestMethod()]
public void AddTest()
{
AddTestHelper<int>(); // my lines
AddTestHelper<object>(); //my lines
}
ただし、default(T) が null を返し、Contains() メソッドが false を返し、テストが失敗するため、AddTestHelper または AddTestHelper は失敗します。
単体テストは初めてで、このようなジェネリック メソッドをテストする方法がわかりません。特にTODO行のTestメソッドでどのような変更が必要か誰か教えてもらえますか??
ありがとう