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);
        }
Example #3
0
        public IEnumerable <int> GetDeliveryByNorthSideThenSouthSide()
        {
            ResetCrossings();

            var northSide = _townplanner.NorthSideHouses();

            UpdateCrossing();
            var southside = _townplanner.SouthSideHouses().Reverse();

            var deliveryOrder = northSide.Concat(southside);

            return(deliveryOrder);
        }