Beispiel #1
0
            public void GetBookingChargesWithValidBookingExpectBookingItemsReturned()
            {
                //Arrange
                var bookingItemManager = new BookingItemManager();
                const int BOOKING_ID = 1;
                var bookingItems = new List<BookingItem>
                    {
                        new BookingItem { Id = 1, ItemType = ItemTypeEnum.Charge },
                        new BookingItem { Id = 2, ItemType = ItemTypeEnum.Discount },
                        new BookingItem { Id = 3, ItemType = ItemTypeEnum.Breakfast }
                    };

                var bookingItemDao = MockRepository.GenerateMock<IBookingItemDao>();
                bookingItemManager.BookingItemDao = bookingItemDao;

                bookingItemDao.Stub(b => b.GetByBooking(BOOKING_ID)).Return(bookingItems);
                bookingItemDao.Expect(b => b.GetConstituentsByItemId(Arg<int>.Is.Equal(1))).Return(new List<BookingConstituent>()).Repeat.Once();
                bookingItemDao.Expect(b => b.GetConstituentsByItemId(Arg<int>.Is.Equal(2))).Return(new List<BookingConstituent>()).Repeat.Once();

                // Act
                var bookingItemsReturned = bookingItemManager.GetBookingCharges(BOOKING_ID);

                // Assert
                Assert.IsNotNull(bookingItemsReturned, "BookingItems are null.");
                Assert.AreEqual(2, bookingItemsReturned.Count, "BookingItems returned are not correct.");

                foreach (var bookingItem in bookingItemsReturned)
                {
                    Assert.IsTrue(bookingItem.ItemType == ItemTypeEnum.Charge || bookingItem.ItemType == ItemTypeEnum.Discount, "Booking item type returned is not correct.");
                }

                bookingItemDao.VerifyAllExpectations();
            }