예제 #1
0
        public void ThrowsArgumentException_WhenFailedToParseParameters()
        {
            // Arrane
            var dataMock    = new Mock <IData>();
            var factoryMock = new Mock <IHotelFactory>();

            var bookHotel = new BookHotelCommand(factoryMock.Object, dataMock.Object);

            // Act & Assert
            Assert.ThrowsException <ArgumentException>(() => bookHotel.Execute(
                                                           new List <string>()
            {
                "Invalid", "Parameters", "3", "15/9/2018", "Tv, MiniBar, WiFi"
            }));
        }
예제 #2
0
        public void ReturnSuccessMessage_WhenTheParametersAreValid()
        {
            // Arrange
            var dataMock    = new Mock <IData>();
            var factoryMock = new Mock <IHotelFactory>();

            // Create list of clients in dataMock
            var clientMock  = new Mock <IClient>();
            var dataClients = new List <IClient>()
            {
                clientMock.Object
            };

            dataMock.SetupGet(x => x.Clients).Returns(dataClients);

            // Create list ot hotels in dataMock
            var hotelMock  = new Mock <IHotel>();
            var dataHotels = new List <IHotel>()
            {
                hotelMock.Object
            };

            dataMock.SetupGet(x => x.Hotels).Returns(dataHotels);

            var bookHotel = new BookHotelCommand(factoryMock.Object, dataMock.Object);

            // Act
            var executeCommand = bookHotel.Execute(
                new List <string>()
            {
                "0", "0", "3", "15/9/2018", "Tv, MiniBar, WiFi"
            });

            // Assert
            StringAssert.Contains(executeCommand, "successfully");
        }