public void should_report_when_manager_manages_nothing() { var parkingManager = new ParkingManager(); var parkingDirector = new ParkingDirector(parkingManager); parkingDirector.ParkingReport.ToString("markdown").Should().Be("# M 0 0"); }
public void should_report_when_manager_manages_one_parking_lot_and_different_parking_boys() { var parkingLot = new ParkingLotBuilder() .WithCapacity(100) .WithOccupiedParkingSpace(10) .Create(); var parkingBoy = new ParkingBoy(new ParkingLotBuilder().WithCapacity(200).WithOccupiedParkingSpace(20).Create()); var smartParkingBoy = new SmartParkingBoy(new ParkingLotBuilder().WithCapacity(300).WithOccupiedParkingSpace(30).Create()); var superParkingBoy = new SuperParkingBoy( new ParkingLotBuilder().WithCapacity(400).WithOccupiedParkingSpace(40).Create()); var parkingManager = new ParkingManager(parkingBoy, smartParkingBoy, superParkingBoy, parkingLot); var parkingDirector = new ParkingDirector(parkingManager); var actualReportText = parkingDirector.ParkingReport.ToString("markdown"); actualReportText.Should().StartWith( "# M 100 1000" + NewLine + "* P 10 100"); actualReportText.Should().Contain("## B 20 200" + NewLine + "* P 20 200"); actualReportText.Should().Contain("## B 30 300" + NewLine + "* P 30 300"); actualReportText.Should().Contain("## B 40 400" + NewLine + "* P 40 400"); }
public void should_print_report_when_manager_has_one_parkingboy_with_one_parklot() { var parkinglotWit1Car3Availiable = new Parkinglot(4); var parkingDirector = new ParkingDirector(new ParkingManager(ParkingBoyFactory.CreateParkingBoy(parkinglotWit1Car3Availiable))); parkinglotWit1Car3Availiable.Park(new Car()); Assert.Equal("M 1 3\r\n B 1 3\r\n P 1 3\r\n", parkingDirector.Report()); }
public void should_print_report_when_manager_has_only_one_parkinglot() { var parkinglotWit1Car3Availiable = new Parkinglot(4); var parkingDirector = new ParkingDirector(new ParkingManager(parkinglotWit1Car3Availiable)); parkinglotWit1Car3Availiable.Park(new Car()); Assert.Equal("M 1 3\r\n P 1 3\r\n", parkingDirector.Report()); }
public void given_a_parking_manager_with_one_space_parking_lot_managed_by_a_parking_director_then_director_could_print_right_report_by_file_log() { var ooParkingLot = new OOParkingLot(1); var parkingDirector = new ParkingDirector(new ParkingManager(ooParkingLot)); var report = parkingDirector.OutPutByStrategy(new FileStrategy()); Assert.AreEqual("M 1 0\r\n\tP 1 0", report); }
public void should_print_report_when_manager_has_only_two_parkinglot() { var firstParkinglotWit1Car3Availiable = new Parkinglot(4); var secondParkinglotWit1Car3Availiable = new Parkinglot(3); var parkingDirector = new ParkingDirector(new ParkingManager(firstParkinglotWit1Car3Availiable, secondParkinglotWit1Car3Availiable)); firstParkinglotWit1Car3Availiable.Park(new Car()); Assert.Equal("M 1 6\r\n P 1 3\r\n P 0 3\r\n", parkingDirector.Report()); }
public void given_a_parking_manager_with_a_super_parking_boy_with_two_parking_lot_and_a_smart_boy_with_a_parking_lot_managed_by_a_parking_director_then_the_director_could_print_right_report() { var superParkingBoy = new SuperParkingBoy(new OOParkingLot(1), new OOParkingLot(1)); var smartParkingBoy = new SmartParkingBoy(new OOParkingLot(1)); var parkingDirector = new ParkingDirector(new ParkingManager(smartParkingBoy, superParkingBoy)); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 3 0\r\n\tB1 1 0\r\n\t\tP 1 0\r\n\tB2 2 0\r\n\t\tP 1 0\r\n\t\tP 1 0", report); }
public void given_a_parking_manager_with_a_parking_boy_with_a_parking_lot_managed_by_a_parking_director_then_the_director_could_print_right_report() { var ooParkingLot = new OOParkingLot(1); var parkingBoy = new ParkingBoy(new OOParkingLot(1)); var parkingDirector = new ParkingDirector(new ParkingManager(ooParkingLot, parkingBoy)); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 2 0\r\n\tP 1 0\r\n\tB0 1 0\r\n\t\tP 1 0", report); }
public void given_a_parking_manager_with_two_parking_lot_managed_by_a_parking_director_then_the_director_could_print_right_report() { var firstParkingLot = new OOParkingLot(1); var secondParkingLot = new OOParkingLot(0); var parkingDirector = new ParkingDirector(new ParkingManager(firstParkingLot, secondParkingLot)); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 1 0\r\n\tP 1 0\r\n\tP 0 0", report); }
public void given_a_parking_manager_with_empty_space_parking_lot_managed_by_a_parking_director_then_director_could_print_right_report() { var ooParkingLot = new OOParkingLot(1); var parkingManager = new ParkingManager(ooParkingLot); var parkingDirector = new ParkingDirector(parkingManager); parkingManager.Park(new Car("car")); var report = parkingDirector.OutPutByStrategy(); Assert.AreEqual("M 0 1\r\n\tP 0 1", report); }
public void should_report_when_manager_manages_one_parking_lot() { var parkingLot = new ParkingLotBuilder() .WithCapacity(2) .WithOccupiedParkingSpace(1) .Create(); var parkingManager = new ParkingManager(parkingLot); var parkingDirector = new ParkingDirector(parkingManager); parkingDirector.ParkingReport.ToString("markdown").Should().Be( "# M 1 2" + NewLine + "* P 1 2"); }
public void should_report_when_manager_manages_one_super_parking_boy() { var parkingLot = new ParkingLotBuilder() .WithCapacity(2) .WithOccupiedParkingSpace(1) .Create(); var parkingBoy = new SuperParkingBoy(parkingLot); var parkingManager = new ParkingManager(parkingBoy); var parkingDirector = new ParkingDirector(parkingManager); parkingDirector.ParkingReport.ToString().Should().Be( "M 1 2" + NewLine + " B 1 2" + NewLine + " P 1 2"); }
public void should_print_report_when_manager_has_two_parklots_and_one_parkingboy_with_two_parklot() { var parkinglotWith1Parked2Available = new Parkinglot(3); var parkinglotWith1Parked3Availible = new Parkinglot(4); var parkingDirector = new ParkingDirector( new ParkingManager( new Parkinglot(3), ParkingBoyFactory.CreateParkingBoy(parkinglotWith1Parked2Available, parkinglotWith1Parked3Availible), new Parkinglot(4) )); parkinglotWith1Parked2Available.Park(new Car()); parkinglotWith1Parked3Availible.Park(new Car()); Assert.Equal("M 2 12\r\n P 0 3\r\n B 2 5\r\n P 1 2\r\n P 1 3\r\n P 0 4\r\n", parkingDirector.Report()); }