これは単体テストの最初の試みです。私の.Equals
メソッドは で失敗していTestSet_Equals_True
ますTestSet_Equals_True_Shuffled_Order
。これが HOW I 単体テストの問題なのか、それとも私の.Equals
方法に何か問題があるのか についての明確化を期待しています。
単体テスト:
private void Populate(Set set, int count)
{
for (int i = 0; i < count; ++i)
set.Add(i);
}
[TestMethod]
public void TestSet_Equals_True()
{
Set set1 = new Set();
Set set2 = new Set();
Populate(set1, POPULATE_COUNT);
Populate(set2, POPULATE_COUNT);
bool expected = true;
bool actual = set1.Equals(set2);
Assert.AreEqual(expected, actual);
}
クラス:
List<object> _set;
//Override Equals
public override bool Equals(object obj)
{
if (this.GetType() != obj.GetType())
return false;
Set o = (Set)obj;
if (this._set.Count != o._set.Count)
return false;
o._set.Sort();
this._set.Sort();
return _set.Equals(o._set); }