Necesita orientación para hacer un caso de prueba de Nunit para el escenario de inserción de datos en .NET

Tengo la clase de modelo de empleado y el cliente de consola a continuación.

Clase de empleado: -

public class Employee
{
    public int EmployeeId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
    public int phoneNumber { get; set; }

    public Employee()
    {

    }

    public Employee(string fname,string lname,int age,int phone)
    {            
        this.FirstName = fname;
        this.LastName = lname;
        this.Age = age;
        this.phoneNumber = phone;
    }

    public void InsertEmployee()
    {
        SqlConnection con = new SqlConnection("sqlconnection");
        SqlCommand cmd = new SqlCommand("sp_insert", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("fname", this.FirstName);
        cmd.Parameters.AddWithValue("lname", this.LastName);
        cmd.Parameters.AddWithValue("age", this.Age);
        cmd.Parameters.AddWithValue("phoneno",this.phoneNumber);            
        con.Open();
        cmd.ExecuteNonQuery();            
        con.Close();
    }

    public List<Employee> GetAllEmployees()
    {
        SqlConnection connection = new SqlConnection("sqlconnection");
        SqlCommand cmd = new SqlCommand("GetAllEmployees", connection);
        cmd.CommandType = System.Data.CommandType.StoredProcedure;
        connection.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        L,ist<Employee> employeeList = new List<Employee>();         
        while (dr.Read())
        {
            Employee emp = new Employee();
            emp.EmployeeId = int.Parse(dr["empID"].ToString());
            emp.FirstName = dr["fname"].ToString();
            emp.LastName = dr["lname"].ToString();
            emp.Age= int.Parse(dr["age"].ToString());
            emp.phoneNumber= int.Parse(dr["phone"].ToString());
            employeeList.Add(emp);
        }
        return employeeList;
    }
}

******Client code****

class Program
{
    static void Main(string[] args)
    {
        Employee newEmp = new Employee("Ram", "Prem", 30, 90000007);
        newEmp.InsertEmployee();
        List<Employee> empList = newEmp.GetAllEmployees();
    }
}

********************

El código anterior funciona y está bien.

Ahora me dijeron que escribiera el método de prueba Nunit para el método Insert y el método fetch.

¿Cómo puedo escribir el método de prueba NUnit para Insertar con las siguientes condiciones: -
1) Cómo garantizar que el valor suministrado se inserte en la base de datos. No debe haber validación manual. Debe ser parte de la prueba de Nunit.
2) En caso de que se introdujera una nueva columna en la tabla.

En el modelo de empleado, se agregó la propiedad Ciudad y el parámetro Ciudad se pasa como parámetro.

Digamos que la nueva columna Columna Ciudad Nullable se agregó a la tabla y en el procedimiento almacenado Insertar el desarrollador no agregó la nueva columna en la declaración de inserción, pero el parámetro Ciudad se agrega en el Procedimiento.

En este escenario anterior, ¿cómo la prueba de Nunit identificará este error (es decir, City no se inserta en la tabla?

¿Cómo escribir el método de prueba Nunit para probar con las condiciones anteriores?

Respuestas a la pregunta(2)

Su respuesta a la pregunta