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)); }
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); }
public void Setup() { _decoratedHandler = A.Fake <IVacuumWorldActionHandler>(); _handler = new ErraticSuckActionHandler(_decoratedHandler); _state = new VacuumWorldState(3); }