public void VerifyReverseVersionComparer() { AssemblyNameExtension x = new AssemblyNameExtension("System, Version=2.0.0.0"); AssemblyNameExtension y = new AssemblyNameExtension("System, Version=1.0.0.0"); AssemblyNameExtension z = new AssemblyNameExtension("System, Version=2.0.0.0"); AssemblyNameExtension a = new AssemblyNameExtension("Zar, Version=3.0.0.0"); AssemblyNameReverseVersionComparer reverseComparer = new AssemblyNameReverseVersionComparer(); Assert.Equal(-1, reverseComparer.Compare(x, y)); Assert.Equal(1, reverseComparer.Compare(y, x)); Assert.Equal(0, reverseComparer.Compare(x, z)); Assert.Equal(0, reverseComparer.Compare(null, null)); Assert.Equal(-1, reverseComparer.Compare(x, null)); Assert.Equal(1, reverseComparer.Compare(null, y)); Assert.Equal(-1, reverseComparer.Compare(a, x)); List <AssemblyNameExtension> assemblies = new List <AssemblyNameExtension>(); assemblies.Add(y); assemblies.Add(x); assemblies.Add(z); assemblies.Sort(AssemblyNameReverseVersionComparer.GenericComparer); Assert.True(assemblies[0].Equals(x)); Assert.True(assemblies[1].Equals(z)); Assert.True(assemblies[2].Equals(y)); }
public void VerifyReverseVersionComparer() { AssemblyNameExtension x = new AssemblyNameExtension("System, Version=2.0.0.0"); AssemblyNameExtension y = new AssemblyNameExtension("System, Version=1.0.0.0"); AssemblyNameExtension z = new AssemblyNameExtension("System, Version=2.0.0.0"); AssemblyNameExtension a = new AssemblyNameExtension("Zar, Version=3.0.0.0"); AssemblyNameReverseVersionComparer reverseComparer = new AssemblyNameReverseVersionComparer(); Assert.AreEqual(-1, reverseComparer.Compare(x ,y)); Assert.AreEqual(1, reverseComparer.Compare(y, x)); Assert.AreEqual(0, reverseComparer.Compare(x, z)); Assert.AreEqual(0, reverseComparer.Compare(null, null)); Assert.AreEqual(-1, reverseComparer.Compare(x ,null)); Assert.AreEqual(1, reverseComparer.Compare(null ,y)); Assert.AreEqual(-1, reverseComparer.Compare(a, x)); List<AssemblyNameExtension> assemblies = new List<AssemblyNameExtension>(); assemblies.Add(y); assemblies.Add(x); assemblies.Add(z); assemblies.Sort(AssemblyNameReverseVersionComparer.GenericComparer); Assert.IsTrue(assemblies[0].Equals(x)); Assert.IsTrue(assemblies[1].Equals(z)); Assert.IsTrue(assemblies[2].Equals(y)); }