Beispiel #1
0
        public void CanRemoveRoomFromHome()
        {
            int roomsReomovedCount = 0;
            Home home = new Home();
            home.RoomRemoved += (sender, added, anotherRoom) =>
            {
                roomsReomovedCount += 1;
            };

            const string bedroomName = "bedroom";
            const string livingroomName = "living room";
            var room =home.CreateRoom(bedroomName);
            Assert.IsNotNull(room);
            home.GetRooms().First().CreateFurniture("table");
            home.GetRooms().First().CreateFurniture("chair");

            room = home.CreateRoom(livingroomName);
            Assert.IsNotNull(room);
            Assert.AreEqual(2, home.GetRooms().Count);
            Room livingRoom = home.GetRooms().Last();
            Assert.AreEqual(0, livingRoom.GetFurnitures().Count);
            home.RemoveRoom(bedroomName, livingroomName);
            Assert.AreEqual(2, livingRoom.GetFurnitures().Count);
            Assert.AreEqual(1, home.GetRooms().Count);
        }
Beispiel #2
0
 public void RemoveRoomShouldThrowNoRoomFoundExceptionIfWrongAnotherRoomNameIfThereAreSomeFurnitureInFirstRoom()
 {
     Home home = new Home();
     var room = home.CreateRoom("room1");
     Assert.IsNotNull(room);
     home.GetRooms().First().CreateFurniture("sofa");
     home.RemoveRoom("room1", "room2");
 }
Beispiel #3
0
 public Home Clone()
 {
     var clonedHome = new Home();
     foreach (Room room in Rooms)
     {
         clonedHome.Rooms.Add(room.Clone());
     }
     return clonedHome;
 }
Beispiel #4
0
 public void CanListingHome()
 {
     Home home = new Home();
     Room room = home.CreateRoom("bedroom");
     room.CreateFurniture("sofa");
     room.CreateFurniture("chair");
     var listing = home.Listing();
     Assert.IsNotNull(listing);
     Assert.IsTrue(listing.Contains("bedroom"));
     Assert.IsTrue(listing.Contains("sofa"));
     Assert.IsTrue(listing.Contains("chair"));
 }
Beispiel #5
0
        public void CanAddNewRoomToHome()
        {
            int roomsAddedCount = 0;
            Home home = new Home();
            home.RoomAdded += (sender, h) =>
            {
                roomsAddedCount += 1;
            };

            Assert.AreEqual(0, home.GetRooms().Count);
            var room = home.CreateRoom("living room");
            Assert.IsNotNull(room);
            Assert.AreEqual(1, roomsAddedCount--);
            Assert.AreEqual(1, home.GetRooms().Count);

            room =home.CreateRoom("bedroom");
            Assert.IsNotNull(room);
            Assert.AreEqual(1, roomsAddedCount--);
            Assert.AreEqual(2, home.GetRooms().Count);
        }
Beispiel #6
0
 public void RemoveRoomShouldThrowNoRoomFoundExceptionIfWrongRoomName()
 {
     Home home = new Home();
     home.RemoveRoom("room1","room2");
 }
Beispiel #7
0
 private void Save(object sender, Home home)
 {
     if (_saver != null)
         _saver.Save(this);
 }
Beispiel #8
0
 private void OnChanged(Home home)
 {
     HomeChangedEventHandler handler = Changed;
     if (handler != null) handler(this, home);
 }
Beispiel #9
0
 private Home CreateNewHome(DateTime date)
 {
     Home result;
     Home home = GetClosestHomeState(date);
     if (home != null)
     {
         result = home.Clone();
     }
     else
     {
         result = new Home();
     }
     States.Add(date, result);
     result.Changed += (sender, h) => OnChanged(h);
     return result;
 }