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 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);
        }
        public void RemoveVersionSortRemovesThenByDescendingOnVersion()
        {
            // Arrange
            var packageAb = new V2FeedPackage { Id = "A", Version = "B" };
            var packageAa = new V2FeedPackage { Id = "A", Version = "A" };
            var packageAc = new V2FeedPackage { Id = "A", Version = "C" };

            var source = new[] { packageAb, packageAc, packageAa }.AsQueryable();

            // Act
            var resultA = source.OrderBy(p => p.Id).ThenByDescending(p => p.Version);
            var resultB = source.WithoutVersionSort().OrderBy(p => p.Id).ThenByDescending(p => p.Version);

            // Assert
            Assert.Equal(new[] { packageAc, packageAb, packageAa }, resultA);
            Assert.Equal(new[] { packageAb, packageAc, packageAa }, resultB);
        }
Beispiel #4
0
        public void RemoveSortWithInvalidColumn()
        {
            // Arrange
            var package1 = new V2FeedPackage {
                Id = "B", Version = "A"
            };
            var package2 = new V2FeedPackage {
                Id = "A", Version = "A"
            };
            var package3 = new V2FeedPackage {
                Id = "C", Version = "A"
            };

            var source = new[] { package1, package2, package3 }.AsQueryable();

            // Act
            var result = source.WithoutSortOnColumn("Dummy").OrderBy(p => p.Version).ThenBy(p => p.Id);

            // Assert
            Assert.Equal(new[] { package2, package1, package3 }, result);
        }
Beispiel #5
0
        public void RemoveVersionSortRemovesThenByWhenItIsNestedInsideAnotherThenBy()
        {
            // Arrange
            var packageAb = new V2FeedPackage {
                Id = "A", Version = "B"
            };
            var packageAa = new V2FeedPackage {
                Id = "A", Version = "A"
            };
            var packageAc = new V2FeedPackage {
                Id = "A", Version = "C"
            };

            var source = new[] { packageAb, packageAc, packageAa }.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[] { packageAc, packageAb, packageAa }, resultA);
            Assert.Equal(new[] { packageAb, packageAc, packageAa }, resultB);
        }
Beispiel #6
0
        public void RemoveVersionSortRemovesThenByOnVersion()
        {
            // Arrange
            var packageAb = new V2FeedPackage {
                Id = "A", Version = "B"
            };
            var packageAa = new V2FeedPackage {
                Id = "A", Version = "A"
            };
            var packageCa = new V2FeedPackage {
                Id = "C", Version = "A"
            };

            var source = new[] { packageAb, packageCa, packageAa }.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[] { packageAa, packageAb, packageCa }, resultA);
            Assert.Equal(new[] { packageAb, packageAa, packageCa }, resultB);
        }
Beispiel #7
0
        public void RemoveVersionSortRemovesThenByDescendingOnVersion()
        {
            // Arrange
            var packageAb = new V2FeedPackage {
                Id = "A", Version = "B"
            };
            var packageAa = new V2FeedPackage {
                Id = "A", Version = "A"
            };
            var packageAc = new V2FeedPackage {
                Id = "A", Version = "C"
            };

            var source = new[] { packageAb, packageAc, packageAa }.AsQueryable();

            // Act
            var resultA = source.OrderBy(p => p.Id).ThenByDescending(p => p.Version);
            var resultB = source.WithoutSortOnColumn("Version").OrderBy(p => p.Id).ThenByDescending(p => p.Version);

            // Assert
            Assert.Equal(new[] { packageAc, packageAb, packageAa }, resultA);
            Assert.Equal(new[] { packageAb, packageAc, packageAa }, resultB);
        }
Beispiel #8
0
        public void RemoveIdSortRemovesThenByWhenItIsNestedInsideAnotherThenBy()
        {
            // Arrange
            var package1 = new V2FeedPackage {
                Id = "B", Version = "A"
            };
            var package2 = new V2FeedPackage {
                Id = "A", Version = "A"
            };
            var package3 = new V2FeedPackage {
                Id = "C", Version = "A"
            };

            var source = new[] { package1, package2, package3 }.AsQueryable();

            // Act
            var resultA = source.OrderBy(p => p.Version).ThenBy(p => p.Version).ThenByDescending(p => p.Id);
            var resultB = source.WithoutSortOnColumn("Id").OrderBy(p => p.Version).ThenBy(p => p.Version).ThenByDescending(p => p.Id);

            // Assert
            Assert.Equal(new[] { package3, package1, package2 }, resultA);
            Assert.Equal(new[] { package1, package2, package3 }, resultB);
        }
        public void RemoveVersionSortRemovesThenByDescendingOnVersion()
        {
            // 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).ThenByDescending(p => p.Version);
            var resultB = source.WithoutVersionSort().OrderBy(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);
        }
 private static void AssertPackage(dynamic expected, V2FeedPackage package)
 {
     Assert.Equal(expected.Id, package.Id);
     Assert.Equal(expected.Version, package.Version);
 }
 private static void AssertPackage(dynamic expected, V2FeedPackage package)
 {
     Assert.Equal(expected.Id, package.Id);
     Assert.Equal(expected.Version, package.Version);
 }