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); }
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"); }