public void ensure_south_side_houses_loads_street_specification() { _streetSpecificationReader = Substitute.For <IStreetSpecificationReader>(); _streetSpecificationReader.LoadFile().Returns(new[] { 1, 2, 3, 4 }); GivenATownPlanner(); _townPlanner.SouthSideHouses().Count().ShouldBe(2); }
public void ensure_house_count_is_zero_when_street_specification_not_loaded() { _townPlanner = TownPlanner.Create(_streetSpecificationReader); _townPlanner.NorthSideHouses().Count().ShouldBe(0); _townPlanner.IsValid().ShouldBeFalse(); _townPlanner.GetHousesWestToEast().Count.ShouldBe(0); _townPlanner.SouthSideHouses().Count().ShouldBe(0); _townPlanner.NumberOfHousesInStreet().ShouldBe(0); _townPlanner.NumberOfHousesOnNorthSide().ShouldBe(0); _townPlanner.NumberOfHousesOnSouthSide().ShouldBe(0); }
public IEnumerable <int> GetDeliveryByNorthSideThenSouthSide() { ResetCrossings(); var northSide = _townplanner.NorthSideHouses(); UpdateCrossing(); var southside = _townplanner.SouthSideHouses().Reverse(); var deliveryOrder = northSide.Concat(southside); return(deliveryOrder); }