public void RemoveDoesNothingToOrderWhenLastStepIsRemoved() { // Arrange var x = new Flow(); var step1 = new Step("name1", "action"); var step2 = new Step("name2", "action"); var step3 = new Step("name3", "action"); // Act x.Add(step1); x.Add(step2); x.Add(step3); int before1 = step1.Order; int before2 = step2.Order; int before3 = step3.Order; x.Remove(step3); int after1 = step1.Order; int after2 = step2.Order; // Assert Assert.AreEqual(1, before1); Assert.AreEqual(2, before2); Assert.AreEqual(3, before3); Assert.AreEqual(1, after1); Assert.AreEqual(2, after2); }
public void StepRemovedAndReinsertedHasNewOrder() { // Arrange var x = new Flow(); var step1 = new Step("name1", "action"); var step2 = new Step("name2", "action"); var step3 = new Step("name3", "action"); // Act x.Add(step1); x.Add(step2); x.Add(step3); x.Remove(step1); x.Add(step1); // Assert Assert.AreEqual(3, step1.Order); }
public void RemoveDecrementsOrderOfRemainingStepsWhenTheMiddleOneIsRemoved() { // Arrange var x = new Flow(); var step1 = new Step("name1", "action"); var step2 = new Step("name2", "action"); var step3 = new Step("name3", "action"); // Act x.Add(step1); x.Add(step2); x.Add(step3); int before1 = step1.Order; int before2 = step2.Order; int before3 = step3.Order; x.Remove(step2); int after1 = step1.Order; int after3 = step3.Order; // Assert Assert.AreEqual(1, before1); Assert.AreEqual(2, before2); Assert.AreEqual(3, before3); Assert.AreEqual(1, after1); Assert.AreEqual(2, after3); }