public void FindLargestHouse_WhenComparingALuxuryAndSimpleHouse()
        {
            // Arrange
            House simpleHouse = new TestHouseBuilder().CreateSimpleHouse().Build();
            House luxuryHouse = new TestHouseBuilder().CreateComplexHouse(numberOfFloors: 4, roomsPerFloor: 10).Build();

            Neighbourhood neighbourhood = TestNeighbourhood.Create().WithHouses(luxuryHouse, simpleHouse);

            // Act
            var largestHouse = new HouseFinder(neighbourhood).FindLargestHouse();

            // Assert
            largestHouse.Should().Be(luxuryHouse);
        }
        public void FindRoomForFriendsMeetup_WhenTheLargestRoomIsInBasement_ThenReturnSecondLargestRoom()
        {
            // Arrange
            House house = new TestHouseBuilder().SetFloors(
                    new TestFloorBuilder(level: -1).AddRoom("Basement", size: 60).Build(),
                    new TestFloorBuilder(level: 1).AddRoom("Kitchen", size: 10).AddRoom("Living Room", size: 40).Build())
                .Build();

            // Act
            (int level, string roomName) = new RoomFinder(house).FindRoomForFriendsMeetup();

            // Assert
            level.Should().Be(1);
            roomName.Should().Be("Living Room");
        }
        public void FindRoomForFriendsMeetup_WhenOnlyOneLargestRoomExist_ThenReturnLargestRoom()
        {
            // Arrange
            House house = new TestHouseBuilder().SetFloors(
                    new TestFloorBuilder(level: 1).AddRoom("Kitchen", size: 10).AddRoom("Living Room", size: 40).Build(),
                    new TestFloorBuilder(level: 2).AddRoom("Bathroom", size: 5).AddRoom("Bedroom", size: 10).Build())
                .WithGarage().WithPool().WithGarden()
                .Build();

            // Act
            (int level, string roomName) = new RoomFinder(house).FindRoomForFriendsMeetup();

            // Assert
            level.Should().Be(1);
            roomName.Should().Be("Living Room");
        }
Example #4
0
 public TestFloorBuilder(TestHouseBuilder parent, int level)
 {
     _parent = parent;
     Level   = level;
 }