You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
2.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xunit;
using xUnitStudy.Dal;
using xUnitStudy.IDal;
using xUnitStudy.Model;
namespace xUnitStudy.WebApi.Test
{
public class StudentDalTest
{
private IStudentDal dal;
public StudentDalTest()
{
dal = new StudentDal();
}
[Fact]
public void StudentsTest()
{
var students = dal.Students;
Assert.NotNull(students);
var allStudent = dal.GetAll();
Assert.Same(students, allStudent);
var myStudent = new Student() { Id = 5, Name = "55" };
allStudent.Add(myStudent);
dal.Students = allStudent;
Assert.Contains(myStudent, dal.GetAll());
}
[Fact]
public void AddStudentTest()
{
//已存在
var student1 = new Student() {Id=1,Name="",Age=8 };
var add = dal.AddStudent(student1);
Assert.False(add.result);
//不存在
var student2 = new Student() { Id = 100, Name = "wanggaofeng", Age = 8 };
var addStudent = dal.AddStudent(student2);
Assert.True(addStudent.result);
Assert.Equal(addStudent.student, student2);
Assert.Equal(4, dal.Students.Count);
}
[Fact]
public void GetAllTest()
{
var allStudents = dal.GetAll();
Assert.Equal(3, allStudents.Count);
}
[Fact]
public void GetStudentByIdTest()
{
var student = dal.GetStudentById(1);
Assert.NotNull(student);
Assert.Equal(1, student.Id);
Assert.Equal("王高峰", student.Name);
student = dal.GetStudentById(-1);
Assert.Null(student);
}
[Fact]
public void UpdateStudentTest()
{
var student = new Student()
{
Id = 1,
Name = "小三",
lever = 0,
Age = 20,
};
var reslut = dal.UpdateStudent(student);
Assert.True(reslut.result);
Assert.True(reslut.student.Id == student.Id && reslut.student.Name == student.Name);
student = new Student()
{
Id = -1,
Name = "小三",
lever = 0,
Age = 20,
};
reslut = dal.UpdateStudent(student);
Assert.False(reslut.result);
}
[Fact]
public void DeleteStudentTest()
{
Assert.True(dal.DeleteStudent(1));
Assert.False(dal.DeleteStudent(-1));
}
}
}