public void WhenSortResultConstructedWithCommaSeparatedNumberStringThenItIsValid() { SortResult result = new SortResult("2,1,0"); Assert.IsTrue(result.IsValid); Assert.AreEqual(2, result.GetIndex(0)); Assert.AreEqual(1, result.GetIndex(1)); Assert.AreEqual(0, result.GetIndex(2)); }
public void WhenSortResultConstructedWithNonZeroSizeThenItIsValid() { SortResult result = new SortResult(4); Assert.IsTrue(result.IsValid); Assert.AreEqual(0, result.GetIndex(0)); Assert.AreEqual(1, result.GetIndex(1)); Assert.AreEqual(2, result.GetIndex(2)); Assert.AreEqual(3, result.GetIndex(3)); }
public void WhenSwapWithOutOfBoundArgumentThenExceptionIsThrown() { SortResult result = new SortResult("2,1,0"); Assert.IsTrue(result.IsValid); Assert.AreEqual(2, result.GetIndex(0)); Assert.AreEqual(1, result.GetIndex(1)); Assert.AreEqual(0, result.GetIndex(2)); result.Swap(0, 3); }
public void WhenGetIndexWithOutOfBoundArgumentThenExceptionIsThrown() { SortResult result = new SortResult("2,1,0"); Assert.IsTrue(result.IsValid); result.GetIndex(3); }
public void WhenSortResultConstructedWithSingleNumberStringThenItIsValid() { string input = "0"; SortResult result = new SortResult(input); Assert.IsTrue(result.IsValid); Assert.AreEqual(0, result.GetIndex(0)); }
public void GivenNonSortedElementLIstWhenSortedAlpabeticallyThemElementsAreInAlphabeticalOrder() { Mock <IDsmModel> model = new Mock <IDsmModel>(); Mock <IDsmElement> a = new Mock <IDsmElement>(); a.Setup(x => x.Id).Returns(34); a.Setup(x => x.Name).Returns(NameA); Mock <IDsmElement> b = new Mock <IDsmElement>(); b.Setup(x => x.Id).Returns(45); b.Setup(x => x.Name).Returns(NameB); Mock <IDsmElement> c = new Mock <IDsmElement>(); c.Setup(x => x.Id).Returns(12); c.Setup(x => x.Name).Returns(NameC); Mock <IDsmElement> d = new Mock <IDsmElement>(); d.Setup(x => x.Id).Returns(23); d.Setup(x => x.Name).Returns(NameD); List <IDsmElement> children = new List <IDsmElement> { c.Object, d.Object, a.Object, b.Object }; Mock <IDsmElement> parent = new Mock <IDsmElement>(); parent.Setup(x => x.Children).Returns(children); object[] args = { model.Object, parent.Object }; AlphabeticalSortAlgorithm algortim = new AlphabeticalSortAlgorithm(args); SortResult result = algortim.Sort(); Assert.AreEqual("2,3,0,1", result.Data); Assert.AreEqual(a.Object, children[result.GetIndex(0)]); Assert.AreEqual(b.Object, children[result.GetIndex(1)]); Assert.AreEqual(c.Object, children[result.GetIndex(2)]); Assert.AreEqual(d.Object, children[result.GetIndex(3)]); }
public void WhenSwapWithValidArgumentThenTheOrderIsChanged() { SortResult result = new SortResult("2,1,0"); Assert.IsTrue(result.IsValid); Assert.AreEqual(2, result.GetIndex(0)); Assert.AreEqual(1, result.GetIndex(1)); Assert.AreEqual(0, result.GetIndex(2)); result.Swap(0, 1); Assert.IsTrue(result.IsValid); Assert.AreEqual(1, result.GetIndex(0)); Assert.AreEqual(2, result.GetIndex(1)); Assert.AreEqual(0, result.GetIndex(2)); }
public void WhenInvertOrderThenTheOrderIsChanged() { SortResult result = new SortResult("2,0,1"); Assert.IsTrue(result.IsValid); Assert.AreEqual(2, result.GetIndex(0)); Assert.AreEqual(0, result.GetIndex(1)); Assert.AreEqual(1, result.GetIndex(2)); result.InvertOrder(); Assert.IsTrue(result.IsValid); Assert.AreEqual(1, result.GetIndex(0)); Assert.AreEqual(2, result.GetIndex(1)); Assert.AreEqual(0, result.GetIndex(2)); }