Ejemplo n.º 1
0
        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)));
        }
Ejemplo n.º 2
0
        public void PaintsTheFacade()
        {
            Color        newColor = Color.FromArgb(250, 240, 232);
            HousePainter testee   = CreateTestee();

            testee.ChangeColorOfFacade(newColor);
            XDocument result = testee.GetResult();

            result.FacadeColorElementValue().Should().Be(newColor);
        }
Ejemplo n.º 3
0
        public void PaintsTheDoor()
        {
            Color        newColor = Color.RoyalBlue;
            HousePainter testee   = CreateTestee();

            testee.ChangeColorOfFrontDoor(newColor);
            XDocument result = testee.GetResult();

            result.FrontDoorElement().ColorAttributeValue().Should().Be(newColor);
        }
Ejemplo n.º 4
0
        public void PaintsTheRoof()
        {
            Color        newColor = Color.Red;
            HousePainter testee   = CreateTestee();

            testee.ChangeColorOfRoof(newColor);
            XDocument result = testee.GetResult();

            result.RoofElement().ColorAttributeValue().Should().Be(newColor);
        }
Ejemplo n.º 5
0
        public void PaintsTheWindowBorders()
        {
            Color        newColor = Color.FromArgb(10, 15, 72);
            HousePainter testee   = CreateTestee();

            testee.ChangeBorderColorOfAllWindows(newColor);
            ICollection <XElement> result = testee.GetResult().WindowElements();

            result.First().ColorAttributeValue().Should().Be(newColor);
            result.Last().ColorAttributeValue().Should().Be(newColor);
        }
        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);
        }
Ejemplo n.º 7
0
        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);
        }
        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);
        }