public void Example_Delete_Post_Null_Data_Should_Return_Error()
        {
            // Arrange
            var controller = new ExampleController();

            // Act
            var result = controller.DeleteConfirmed(null) as RedirectToActionResult;

            // Assert
            Assert.AreEqual("Error", result.ActionName);
        }
        public void Example_Delete_Post_Invalid_Model_Should_Send_Back_For_Edit()
        {
            // Arrange
            var controller = new ExampleController();
            var data       = new ExampleModel();

            // Make ModelState Invalid
            controller.ModelState.AddModelError("test", "test");

            // Act
            var result = controller.DeleteConfirmed(data.ID) as NotFoundResult;

            // Assert
            Assert.AreEqual(404, result.StatusCode);
        }
        public void Example_Delete_Post_Empty_Id_Should_Send_Back_For_Edit()
        {
            // Arrange
            var          controller = new ExampleController();
            ExampleModel dataEmpty  = new ExampleModel
            {
                // Make data.Id empty
                ID = ""
            };

            // Act
            var result = controller.DeleteConfirmed(dataEmpty.ID) as RedirectToActionResult;

            // Assert
            Assert.AreEqual("Error", result.ActionName);
        }
        public void Example_Delete_Post_Valid_Should_Delete()
        {
            // Arrange
            var controller = new ExampleController();

            // Get default student
            var data = BiliWeb.Backend.DataSourceBackend.Instance.ExampleBackend.Index().FirstOrDefault();

            // Act
            var result    = controller.DeleteConfirmed(data.ID) as ViewResult;
            var dataExist = BiliWeb.Backend.DataSourceBackend.Instance.ExampleBackend.Read(data.ID);

            // Reset
            BiliWeb.Backend.DataSourceBackend.Instance.Reset();

            // Assert
            Assert.IsNull(dataExist);
        }
        public void Example_Delete_Post_Default_Should_Return_Index_Page()
        {
            // Arrange
            var controller = new ExampleController();

            // Get default student
            var          defaultData = BiliWeb.Backend.DataSourceBackend.Instance.ExampleBackend.Index().FirstOrDefault();
            ExampleModel data        = new ExampleModel(defaultData);

            // Act
            var result = controller.DeleteConfirmed(data.ID) as NotFoundResult;

            // Reset
            BiliWeb.Backend.DataSourceBackend.Instance.Reset();

            // Assert
            Assert.AreEqual(404, result.StatusCode);
        }