public void PaintsFrontDoorOfHouse()
        {
            Color newColor = Color.DeepSkyBlue;

            House house = HouseBuilder.Create()
                .WithFrontDoorOfColor(Color.White)
                .Build();

            this.testee = new HousePainter(house);
            this.testee.ChangeColorOfFrontDoor(newColor);

            house.FrontDoor.Color.Should().Be(newColor);
        }
        public void PaintsWindowBordersOfARoom()
        {
            Color newColor = Color.Maroon;

            var sampleWindow = new Window { BorderColor = Color.White };

            House house = HouseBuilder.Create()
                .AddFloor()
                    .AddRoom()
                        .WithWindow(sampleWindow)
                .Build();

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

            sampleWindow.BorderColor.Should().Be(newColor);
        }
        public void PaintsAllWindowBorders()
        {
            Color newColor = Color.Lime;

            House house = HouseBuilder.Create()
                .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;

            this.testee = new HousePainter(house);
            this.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)));
        }