public async Task PostRoomShouldCreateRoom()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.CreateRoomAsync(
                               It.IsAny <Lib.Room>()
                               ));

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var roomTest = new Revature.Room.Lib.Room
            {
                ComplexId         = Guid.NewGuid(),
                RoomId            = Guid.NewGuid(),
                RoomNumber        = "ABC",
                NumberOfBeds      = 4,
                NumberOfOccupants = 4,
                Gender            = "Male",
                RoomType          = "Apartment"
            };

            roomTest.SetLease(DateTime.Now, DateTime.Today.AddDays(3));
            var result = await controller.PostRoomAsync(roomTest);

            //assert
            Assert.IsAssignableFrom <CreatedAtRouteResult>(result);
        }
        public async Task PostRoomShouldReturnBadRequest()
        {
            //arrange
            var mockRepo   = new Mock <IRepository>();
            var mockLogger = new Mock <ILogger <ComplexController> >();

            mockRepo.Setup(r => r.CreateRoomAsync(
                               It.IsAny <Lib.Room>()
                               )).Throws(new ArgumentException());

            var controller = new ComplexController(mockRepo.Object, mockLogger.Object);

            //act
            var roomTest = new Lib.Room();

            var result = await controller.PostRoomAsync(roomTest);

            //assert
            Assert.IsType <BadRequestResult>(result);
        }