public void DeleteExamRoom()
        {
            CreatedAtRouteNegotiatedContentResult<ExamRoomModel> contentResult;

            using (var ExamRoomController = new ExamRoomsController())
            {
                //Create Exam Room
                var newExamRoom = new ExamRoomModel
                {
                    ExamRoomName = "Test Room"
                };
                //Insert ExamRoomModelObject into Database so
                //that I can delete it
                var result = ExamRoomController.PostExamRoom(newExamRoom);

                //Cast result as Content Result so that I can gather information from ContentResult
                contentResult = (CreatedAtRouteNegotiatedContentResult<ExamRoomModel>)result;
            }
            using (var SecondExamRoomController = new ExamRoomsController())
            {
                //Delete the Test Exam Room
                var result = SecondExamRoomController.DeleteExamRoom(contentResult.Content.ExamRoomID);

                //Assert
                Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<ExamRoomModel>));
            }
            using (var ThirdExamRoomController = new ExamRoomsController())
            {
                var result = ThirdExamRoomController.GetExamRoom(contentResult.Content.ExamRoomID);

                //Assert
                Assert.IsInstanceOfType(result, typeof(NotFoundResult));
            }
        }
        public void GetRoomReturnRoom()
        {
            int examRoomIDForTest;

            //Arrange: create a test exam room, and save its ID
            using (var examRoomController = new ExamRoomsController())
            {
                var examRoom = new ExamRoomModel
                {
                    ExamRoomName = "ImexamRoom"
                };
                IHttpActionResult result = examRoomController.PostExamRoom(examRoom);
                CreatedAtRouteNegotiatedContentResult<ExamRoomModel> examRoomContentResult =
                    (CreatedAtRouteNegotiatedContentResult<ExamRoomModel>)result;
                examRoomIDForTest = examRoomContentResult.Content.ExamRoomID;
            }

            using (var examRoomController = new ExamRoomsController())
            {
                //Act
                IHttpActionResult result = examRoomController.GetExamRoom(examRoomIDForTest);

                //Assert
                Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<ExamRoomModel>));

                OkNegotiatedContentResult<ExamRoomModel> contentResult = (OkNegotiatedContentResult<ExamRoomModel>)result;

                Assert.IsTrue(contentResult.Content.ExamRoomID == examRoomIDForTest);

            }

            // Delete the test exam room
            using (var examRoomController = new ExamRoomsController())
            {
                IHttpActionResult result = examRoomController.DeleteExamRoom(examRoomIDForTest);
            }
        }
        public void PutRoomUpdateRoom()
        {
            //Test Exam Rooms
            IHttpActionResult result;
            CreatedAtRouteNegotiatedContentResult<ExamRoomModel> contentResult;
            OkNegotiatedContentResult<ExamRoomModel> examRoomResult;
            OkNegotiatedContentResult<ExamRoomModel> readContentResult;

            using (var ExamRoomController = new ExamRoomsController())
            {
                //Create test exam room
                var newExamRoom = new ExamRoomModel
                {
                    ExamRoomName = "Test Room",

                };
                //Insert ExamRoomModelObject into Database so
                //that I can take it out and test for update.
                result = ExamRoomController.PostExamRoom(newExamRoom);

                //Cast result as Content Result so that I can gather information from ContentResult
                contentResult = (CreatedAtRouteNegotiatedContentResult<ExamRoomModel>)result;
            }
            using (var SecondExamRoomController = new ExamRoomsController())
            {
                //Result contains the ExamRoom I had JUST createad
                result = SecondExamRoomController.GetExamRoom(contentResult.Content.ExamRoomID);

                Assert.IsInstanceOfType(result, typeof(OkNegotiatedContentResult<ExamRoomModel>));

                //Get ExamRoomModel from 'result'
                examRoomResult = (OkNegotiatedContentResult<ExamRoomModel>)result;

            }

            using (var ThirdExamRoomController = new ExamRoomsController())
            {
                var modifiedExamRoom = examRoomResult.Content;

                modifiedExamRoom.ExamRoomName = "Updated Test Room";

                //Act
                //The result of the Put Request
                result = ThirdExamRoomController.PutExamRoom(examRoomResult.Content.ExamRoomID, modifiedExamRoom);

                //Assert
                Assert.IsInstanceOfType(result, typeof(StatusCodeResult));
            }
            using (var FourthExamRoomController = new ExamRoomsController())
            {
                //Act
                IHttpActionResult resultAlteredExamRoom = FourthExamRoomController.GetExamRoom(examRoomResult.Content.ExamRoomID);

                OkNegotiatedContentResult<ExamRoomModel> alteredResult = (OkNegotiatedContentResult<ExamRoomModel>)resultAlteredExamRoom;
                ExamRoomModel updatedExamRoom = (ExamRoomModel)alteredResult.Content;

                //Assert
                Assert.IsInstanceOfType(resultAlteredExamRoom, typeof(OkNegotiatedContentResult<ExamRoomModel>));

                readContentResult =
                    (OkNegotiatedContentResult<ExamRoomModel>)resultAlteredExamRoom;

                Assert.IsTrue(readContentResult.Content.ExamRoomName == "Updated Test Room");
            }
            using (var FifthExamRoomController = new ExamRoomsController())
            {
                //Delete the Test Exam Room
                result = FifthExamRoomController.DeleteExamRoom(readContentResult.Content.ExamRoomID);
            }
        }