相关疑难解决方法(0)

CollectionAssert.AreEquivalent vs Assert.Equals()

public void NumericListCanBeSorted()
{
  var sorted = sort.SortNumbers(nums);
  Assert.AreEqual(sorted, nums);
}

public List<int> SortNumbers(List<int> nums)
    {
        List<int> sortedList = new List<int>();

        for (int i = 0; i < nums.Count(); i++)
        {
            for (int j = i + 1; j < nums.Count; j++)
            {
                if (nums[i] > nums[j])
                {
                    //Swapping values
                    nums[i] = nums[i] + nums[j];
                    nums[j] = nums[i] - nums[j];
                    nums[i] = nums[i] - nums[j];
                }
            }
            sortedList.Add(nums[i]);
        }
        return sortedList;
    }

Result Message: Assert.AreEqual failed. 
Expected:     <System.Collections.Generic.List`1[System.Int32]>. 
      Actual :<System.Collections.Generic.List`1[System.Int32]>. …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing equality

8
推荐指数
1
解决办法
6673
查看次数

如何在两个Dictionary <string,List <string >>对象之间进行值比较

我有以下数据结构:

Dictionary<string, List<string>>
Run Code Online (Sandbox Code Playgroud)

如何进行比较以确保两个不同对象之间的值相等?

即:

    Dictionary<string, List<string>> expected = new Dictionary<string, List<string>>();
    expected.Add("CREDIT", new List<string> { "K   R   EH   D   IH   T" });
    expected.Add("CARD", new List<string> { "K   AA   R   D" });

    Dictionary<string, List<string>> actual;
    actual = target.GetTermDictionary();
    if (!Enumerable.SequenceEqual(expected, actual))
    {
        Assert.Fail();
    }
Run Code Online (Sandbox Code Playgroud)

我不认为SequanceEqual在这里很好..

谢谢

c# unit-testing

5
推荐指数
1
解决办法
3613
查看次数

标签 统计

c# ×2

unit-testing ×2

equality ×1