public void SelectionSorterSort_WhenCollectionHasASingleElement_ShouldReturnCollectionWithSingleElement() { KeyValuePair<string, int>[] collection = { new KeyValuePair<string, int>("Test", 1) }; var sorter = new SelectionSorter(); // act var result = sorter.Sort(collection); // assert Assert.AreEqual(collection.Count(), result.Count()); Assert.AreEqual(collection[0], result.ElementAt(0)); }
public void SelectionSorterSort_WhenCollectionHasTwoSortedElements_ShouldReturnTheSameElementInTheSameOrder() { KeyValuePair<string, int>[] collection = { new KeyValuePair<string, int>("Test 1", 1), new KeyValuePair<string, int>("Test 2", 2) }; var sorter = new SelectionSorter(); // act var result = sorter.Sort(collection); // assert Assert.AreEqual(collection.Length, result.Count()); for (int i = 0; i < collection.Length; i++) { Assert.AreEqual(collection[i], result.ElementAt(i)); } }
public void SelectionSorterSort_WhenCollectionHasTwoUnsortedElements_ShouldReturnTheSameElementInTheSameOrder() { KeyValuePair<string, int>[] collection = { new KeyValuePair<string, int>("Test 2", 2), new KeyValuePair<string, int>("Test 1", 1) }; var sorter = new SelectionSorter(); // act var actual = sorter.Sort(collection); var expected = collection.OrderBy(item => item.Value).ToArray(); // assert Assert.AreEqual(expected.Count(), actual.Count()); for (int i = 0; i < expected.Count(); i++) { Assert.AreEqual(expected.ElementAt(i), actual.ElementAt(i)); } }
public void SelectionSorterSort_WhenCollectionIsEmpty_ShouldReturnEmtpyCollection() { // arrange KeyValuePair<string, int>[] collection = { }; var sorter = new SelectionSorter(); // act var result = sorter.Sort(collection); // assert Assert.IsNotNull(result); Assert.AreEqual(0, result.Count()); }
public void SelectionSorterSort_WhenCollectionIsNull_ShouldThrow() { // arrange KeyValuePair<string, int>[] collection = null; var sorter = new SelectionSorter(); // act var result = sorter.Sort(collection); }