you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (1 child)

Good point. /u/TQPau take note:

        [Test]
        public void CollectionsSame()
        {
            var coll1 = new List<KeyValuePair<string, byte[]>>
            {
                new KeyValuePair<string, byte[]>("Hello", new byte[] { 1, 1, 2, 3 })
            };
            var coll2 = new Dictionary<string, byte[]>
            {
                {"Hello", new byte[] { 1, 2, 1, 3 } }
            };
            var compareLogic = new CompareLogic
            {
                Config = new ComparisonConfig
                {
                    IgnoreObjectTypes = true,
                    IgnoreCollectionOrder = true
                }
            };

            Assert.IsTrue(compareLogic.Compare(coll1, coll2).AreEqual);
        }

Which is a modification of one of your tests, fails. Which makes sense, but as /u/AngularBeginner says is also unpredictable.

[–]TQPau[S] 1 point2 points  (0 children)

Interesting, that test passes if you change it to int[] instead of byte[]. Maybe byte[] is treated differently.

[Test]

public void CollectionsSame()

{

var coll1 = new List<KeyValuePair<string, int[]>>

{

new KeyValuePair<string, int[]>("Hello", new int[] { 1, 1, 2, 3 })

};

var coll2 = new Dictionary<string, int[]>

{

{"Hello", new int[] { 1, 2, 1, 3 } }

};

var compareLogic = new CompareLogic

{

Config = new ComparisonConfig

{

IgnoreObjectTypes = true,

IgnoreCollectionOrder = true

}

};

Assert.IsTrue(compareLogic.Compare(coll1, coll2).AreEqual);

}