Пример #1
0
        public void DistictBy_GivenListOfTuples_ReturnsDistictList()
        {
            var listOfTuples = new[]
                {
                    new Tuple<int, string> ( 1, "item1" ), new Tuple<int, string> ( 2, "item2" ), new Tuple<int, string> ( 3, "item3" ),
                    new Tuple<int, string> ( 1, "item4" ), new Tuple<int, string> ( 2, "item5" ), new Tuple<int, string> ( 3, "item6" ),
                };

            var distictList = listOfTuples.DistinctBy ( t => t.Item1 ).Select ( t => t.Item2 ).ToArray ();

            var referenceArray = new[] { "item1", "item2", "item3" };
            CollectionAssert.AreEqual ( distictList, referenceArray );
        }
        public void DistinctByTest()
        {
            const int expectedItems = 2;
            var collection = new[] {
                new Entity(234),
                new Entity(664),
                new Entity(664)
            };

            var result = collection.DistinctBy(e => e.Value);
            var count = result.Count();

            Assert.AreEqual(count, expectedItems);
        }
Пример #3
0
        public void TestDistinctBy()
        {
            var d1 = new Data("a", 2, 2.3f);
            var d2 = new Data("a", 3, 3.4f);
            var d3 = new Data("a", 4, 1.1f);
            var list = new[] {d1, d2, d3};
            list = list.DistinctBy(d => d.text).ToArray();
            Assert.IsTrue(list.Count() == 1);

            d1 = new Data("a", 1, 3.2f);
            d2 = new Data("b", 1, 2.2f);
            d3 = new Data("c", 1, 12.2f);
            list = new[] {d1, d2, d3};
            list = list.DistinctBy(d => d.iNumber).ToArray();
            Assert.IsTrue(list.Length == 1);

            d1 = new Data("a", 1, 3.2f);
            d2 = new Data("b", 2, 2.2f);
            d3 = new Data("c", 1, 12.2f);
            list = new[] { d1, d2, d3 };
            list = list.DistinctBy(d => d.iNumber).ToArray();
            Assert.IsTrue(list.Length == 2);
        }
        public void DistinctBy_ShouldSelectDistinctValuesSuccessfully()
        {
            var objects = new[]
            {
                new {A = 5, B = 1},
                new {A = 5, B = 1},
                new {A = 2, B = 1},
                new {A = 5, B = 1},
                new {A = 8, B = 1},
            };

            var result = objects.DistinctBy(x => x.A).ToList();

            result.Select(x => x.A).ShouldBeEquivalentTo(new []{5,2,8});
        }
        public void DistinctBy_ShouldReturnUniqueWithTheSameOrder ()
        {
            // arrange
            var data = new[]
                       {
                           new TestDataObject { Name = "b" },
                           new TestDataObject { Name = "a" },
                           new TestDataObject { Name = "B" }
                       };


            // act
            var result = data.DistinctBy (x => x.Name, StringComparer.OrdinalIgnoreCase);


            // assert
            result.Select (x => x.Name).Should ().Equal ("b", "a");
        }