public void CanWeave_ThirdListIsNOTWeaveable_ReturnsFalse() { // Arrange var lw = new ListWeaver<string>(); var list1 = new List<string> { "Blue", "Gray" }; var list2 = new List<string> { "Blue", "Orange", "Green" }; var list3 = new List<string> { "Green", "Blue" }; // Act lw.Yarns.Add(list1); lw.Yarns.Add(list2); bool result = lw.CanWeave(list3); // Assert Assert.False(result); }
public void CanWeave_SecondListIsWeaveable_ReturnsTrue() { // Arrange var lw = new ListWeaver<string>(); var list1 = new List<string> { "Blue", "Orange", "Green" }; var list2 = new List<string> { "Blue", "Gray"}; // Act lw.Yarns.Add(list1); bool result = lw.CanWeave(list2); // Assert Assert.True(result); }
public void CanWeave_NullList_ReturnsFalse() { // Arrange var lw = new ListWeaver<string>(); var list1 = new List<string> { "Blue", "Orange", "Green" }; // Act lw.Yarns.Add(list1); bool result = lw.CanWeave(null); // Assert Assert.False(result); }
public void CanWeave_LoopInListIsNOTWeaveable_ReturnsFalse() { // Arrange var lw = new ListWeaver<string>(); var list1 = new List<string> { "Blue", "Orange", "Green", "Orange" }; // Act bool result = lw.CanWeave(list1); // Assert Assert.False(result); }
public void CanWeave_IndirectLoop_ReturnsFalse_RdW() { // Arrange var lw = new ListWeaver<string>(); var list1 = new List<string> { "Purple", "Yellow" }; var list2 = new List<string> { "Black", "Purple" }; var list3 = new List<string> { "Blue", "Yellow", "Black" }; // Act lw.Yarns.Add(list1); lw.Yarns.Add(list2); bool result = lw.CanWeave(list3); // Due to list1 and list2, Black is before Yellow (Black->Purple->Yellow). // list3 therefore introduces a conflict (Yellow before Black). // Assert Assert.False(result); }
public void CanWeave_FirstListToBeIncluded_ReturnsTrue() { // Arrange var lw = new ListWeaver<string>(); var list1 = new List<string> { "Blue", "Orange", "Green" }; // Act bool result = lw.CanWeave( list1 ); // Assert Assert.True(result); }