public void RemoveVersionSortRemovesThenByWhenItIsNestedInsideAnotherThenBy() { // Arrange var package_AB = new V2FeedPackage { Id = "A", Version = "B" }; var package_AA = new V2FeedPackage { Id = "A", Version = "A" }; var package_AC = new V2FeedPackage { Id = "A", Version = "C" }; var source = new[] { package_AB, package_AC, package_AA }.AsQueryable(); // Act var resultA = source.OrderBy(p => p.Id).ThenBy(p => p.Id).ThenByDescending(p => p.Version); var resultB = source.WithoutVersionSort().OrderBy(p => p.Id).ThenBy(p => p.Id).ThenByDescending(p => p.Version); // Assert Assert.Equal(new[] { package_AC, package_AB, package_AA }, resultA); Assert.Equal(new[] { package_AB, package_AC, package_AA }, resultB); }
public void RemoveVersionSortRemovesThenByWhenVersionIsRepresentedInAWrapperObject() { // Arrange var package_AB = new { Id = "A", WrapperObject = new { Version = "B" } }; var package_AA = new { Id = "A", WrapperObject = new { Version = "A" } }; var package_AC = new { Id = "A", WrapperObject = new { Version = "C" } }; var source = new[] { package_AB, package_AC, package_AA }.AsQueryable(); // Act var resultA = source.OrderBy(p => p.Id).ThenBy(p => p.Id).ThenByDescending(p => p.WrapperObject.Version); var resultB = source.WithoutVersionSort().OrderBy(p => p.Id).ThenBy(p => p.Id).ThenByDescending(p => p.WrapperObject.Version); // Assert Assert.Equal(new[] { package_AC, package_AB, package_AA }, resultA); Assert.Equal(new[] { package_AB, package_AC, package_AA }, resultB); }
public void RemoveVersionSortRemovesThenByOnVersion() { // Arrange var package_AB = new V2FeedPackage { Id = "A", Version = "B"}; var package_AA = new V2FeedPackage { Id = "A", Version = "A"}; var package_CA = new V2FeedPackage { Id = "C", Version = "A"}; var source = new[] { package_AB, package_CA, package_AA }.AsQueryable(); // Act var resultA = source.OrderBy(p => p.Id).ThenBy(p => p.Version); var resultB = source.WithoutVersionSort().OrderBy(p => p.Id).ThenBy(p => p.Version); // Assert Assert.Equal(new[] { package_AA, package_AB, package_CA }, resultA); Assert.Equal(new[] { package_AB, package_AA, package_CA }, resultB); }