Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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]);
            }
        }