public void ShouldReturnAvailableTraverserObjWhenNextIsCalled(object traverserObj) { var traversal = new TestTraversal(new List <object> { traverserObj }); var actualObj = traversal.Next(); Assert.Equal(traverserObj, actualObj); Assert.Equal(null, traversal.Next()); }
public void ShouldReturnNullWhenNextIsCalledAndNoTraverserIsAvailable() { var expectedFirstObj = 1; var traversal = new TestTraversal(new List <object> { expectedFirstObj }); var actualFirstObj = traversal.Next(); var actualSecondObj = traversal.Next(); Assert.Equal(expectedFirstObj, actualFirstObj); Assert.Null(actualSecondObj); }
public void ShouldApplyStrategiesWhenNextIsCalledAndNoTraversersPresent() { const int expectedObj = 531; var testStrategy = new TestTraversalStrategy(new List <Traverser> { new Traverser(expectedObj) }); var testTraversal = new TestTraversal(new List <ITraversalStrategy> { testStrategy }); var actualObj = testTraversal.Next(); Assert.Equal(expectedObj, actualObj); }
public void ShouldCheckHasNext(object traverserObj) { var traversal = new TestTraversal(new List <object> { traverserObj }); Assert.Equal(true, traversal.HasNext()); Assert.Equal(true, traversal.HasNext()); var actualObj = traversal.Next(); Assert.Equal(traverserObj, actualObj); Assert.Equal(false, traversal.HasNext()); Assert.Equal(false, traversal.HasNext()); }
public void ShouldReturnCorrectNrOfResultObjsWhenNextIsCalledWithAmountArgument(int nrOfResults) { var objs = new List <object>(20); for (var i = 0; i < 20; i++) { objs.Add(i); } var traversal = new TestTraversal(objs); var traversedObjs = traversal.Next(nrOfResults); var traversedObjsList = traversedObjs.ToList(); Assert.Equal(nrOfResults, traversedObjsList.Count); for (var i = 0; i < nrOfResults; i++) { Assert.Equal(objs[i], traversedObjsList[i]); } }