public void ByteArrayComparer_SortRandomUInt32Test() { var comparer = new ByteArrayComparer(); var r = Randomness.NextRandom(); var list = new List <byte[]>(1000); var list2 = new List <uint>(1000); for (int i = 0; i < 1000; i++) { var bytes = new byte[4]; r.NextBytes(bytes); uint x = ((uint)bytes[0] << 24) | ((uint)bytes[1] << 16) | ((uint)bytes[2] << 8) | bytes[3] ; list.Add(bytes); list2.Add(x); } list.Sort(comparer); list2.Sort(); // use default comparer CollectionAssert.AreEqual(list2, list.Select(bytes => { uint x = ((uint)bytes[0] << 24) | ((uint)bytes[1] << 16) | ((uint)bytes[2] << 8) | bytes[3] ; return(x); }).ToList()); }
public void ByteArrayComparer_BaseCaseTest() { { var a = new byte[0]; var b = new byte[0]; Assert.IsTrue(ByteArrayComparer.Compare(a, b) == 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) == 0); } { var a = new byte[0]; var b = new byte[1]; Assert.IsTrue(ByteArrayComparer.Compare(a, b) < 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) > 0); } { var a = new byte[] { 1 }; var b = new byte[] { 2 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) < 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) > 0); } { var a = new byte[] { 3 }; var b = new byte[] { 3 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) == 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) == 0); } { var a = new byte[] { 1, 2 }; var b = new byte[] { 1, 3 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) < 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) > 0); } { var a = new byte[] { 1, 2 }; var b = new byte[] { 1, 2 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) == 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) == 0); } { var a = new byte[] { 1, 2 }; var b = new byte[] { 1, 2, 3 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) < 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) > 0); } { var a = new byte[] { 1, 2, 3 }; var b = new byte[] { 1, 2, 4 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) < 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) > 0); } { var a = new byte[] { 1, 2, 3 }; var b = new byte[] { 1, 2, 3 }; Assert.IsTrue(ByteArrayComparer.Compare(a, b) == 0); Assert.IsTrue(ByteArrayComparer.Compare(b, a) == 0); } }