Пример #1
0
        public void GivenVacuumIsOnCleanSquare_AndMakeDirtyProbabilityOf1_Suck_ShouldMakeSquareDirty()
        {
            // arrange
            _state.SetAllSquaresClean();
            _state.VacuumPos = new Point2D(1, 1);

            const double cleanExtraProbability = 0.0;
            const double makeDirtyProbability  = 1.0;

            _handler = new ErraticSuckActionHandler(_decoratedHandler, cleanExtraProbability, makeDirtyProbability);

            // act
            _handler.DoAction(_state, VacuumWorldAction.Suck);

            // assert
            Assert.IsTrue(_state.SquareIsDirty(_state.VacuumPos));
        }
Пример #2
0
        public void GivenCleanExtraProbabilityOf0_Suck_ShouldNotCleanAdjacentSquare()
        {
            // arrange
            _state.SetAllSquaresDirty();
            _state.VacuumPos = new Point2D(1, 1);

            const double cleanExtraProbability = 0.0;

            _handler = new ErraticSuckActionHandler(_decoratedHandler, cleanExtraProbability);

            // act
            _handler.DoAction(_state, VacuumWorldAction.Suck);

            // assert
            var numDirtyNeighbours = _state.AdjacentSquares(_state.VacuumPos).Count(s => _state.SquareIsDirty(s));

            Assert.AreEqual(4, numDirtyNeighbours);
        }
Пример #3
0
 public void Setup()
 {
     _decoratedHandler = A.Fake <IVacuumWorldActionHandler>();
     _handler          = new ErraticSuckActionHandler(_decoratedHandler);
     _state            = new VacuumWorldState(3);
 }