public Student Create(String firstName, String lastName)
        {
            Student student = new Student();

            student.FirstName = firstName;
            student.LastName = lastName;

            db.Students.Add(student);

            return student;
        }
        public void SetupData()
        {
            studentsMock = new Mock<FakeStudentRepository>();
            var students = new Student[]{
            new Student() { ID = 1930586204, FirstName = "Kenneth", LastName = "Leiphart" },
            new Student() { ID = 1930586205, FirstName = "Diana", LastName = "Leiphart" },
            new Student() { ID = 1930586206, FirstName = "Eric", LastName = "Lakatosh" },
            new Student() { ID = 1930586207, FirstName = "Joseph", LastName = "Smith" }
            }.AsQueryable();

            mockSet = new Mock<DbSet<Student>>();
            mockSet.As<IQueryable<Student>>().Setup(m => m.Provider).Returns(students.Provider);
            mockSet.As<IQueryable<Student>>().Setup(m => m.Expression).Returns(students.Expression);
            mockSet.As<IQueryable<Student>>().Setup(m => m.ElementType).Returns(students.ElementType);
            mockSet.As<IQueryable<Student>>().Setup(m => m.GetEnumerator()).Returns(students.GetEnumerator());

            studentsMock.Setup(m => m.Students).Returns(mockSet.Object);
        }
        public void Create_Student_Failed_No_Last_Name_Test()
        {
            StudentController controller = new StudentController(studentsMock.Object);
            Student student = new Student();

            student.FirstName = "Dave";
            student.LastName = "";

            var results = new List<ValidationResult>();
            var validationContext = new ValidationContext(student, null, null);
            Validator.TryValidateObject(student, validationContext, results, true);
            if (student is IValidatableObject) (student as IValidatableObject).Validate(validationContext);

            Assert.AreEqual("Last name is required.", results[0].ErrorMessage);
        }