public void PaintsWindowBordersOfALargeHouse()
        {
            Color newColor = Color.Lime;

            House house = HouseBuilderWithSyntax.Create()
                .WithFrontDoorOfColor(Color.Gray)
                .AddFloor()
                    .WithRoomHavingWindowsQuantityOf(2)
                    .WithRoomHavingWindowsQuantityOf(1)
                    .WithRoomHavingWindowsQuantityOf(1)
                .AddFloor()
                    .WithRoomHavingWindowsQuantityOf(2)
                    .WithRoomHavingWindowsQuantityOf(2)
                    .WithRoomHavingWindowsQuantityOf(1)
                .Build();

            IReadOnlyCollection<Room> allRoomsOfFirstFloor = house.Floors.First().Rooms;
            IReadOnlyCollection<Room> allRoomsOfSecondFloor = house.Floors.Last().Rooms;

            var testee = new HousePainter(house);
            testee.ChangeBorderColorOfAllWindows(newColor);

            allRoomsOfFirstFloor.Should().Match(rooms => rooms.All(r => r.Windows.All(w => w.BorderColor == newColor)));
            allRoomsOfSecondFloor.Should().Match(rooms => rooms.All(r => r.Windows.All(w => w.BorderColor == newColor)));
        }
        public void PaintsWindowBordersOfASmallHouse()
        {
            Color newColor = Color.OrangeRed;

            House house = HouseBuilderWithSyntax.Create()
                .WithFrontDoorOfColor(Color.Gray)
                .AddFloor()
                    .AddRoom()
                        .AddWindowWithBorderColor(Color.Gray)
                .Build();

            Window onlyWindowInHouse = house.Floors.Single().Rooms.Single().Windows.Single();

            var testee = new HousePainter(house);
            testee.ChangeBorderColorOfAllWindows(newColor);

            onlyWindowInHouse.BorderColor.Should().Be(newColor);
        }