package com.cn.test;

import static org.junit.Assert.*;

import org.junit.Test;

import com.cn.dao.impl.AdminDaoImpl;
import com.cn.domain.Admin;
import com.cn.service.AdminService;
import com.cn.service.impl.AdminServiceImpl;
import com.cn.util.DateUtil;

/**
 * 测试类，用于测试管理员相关的服务方法。
 */
public class AdminServiceTest {
    // 定义一个静态的AdminService对象，用于测试不同的方法。
    private static AdminService adminService = new AdminServiceImpl(new AdminDaoImpl());

    /**
     * 测试添加管理员的方法。
     */
    @Test
    public void testAddAdmin() {
        // 创建一个新的管理员对象，并设置用户名、密码、当前时间等属性。
        Admin admin = new Admin("admin","fhjadhf34445",DateUtil.now(),1,1,DateUtil.now());
        // 调用AdminService的addAdmin方法添加管理员，并接收返回的影响行数。
        int number = adminService.addAdmin(admin);
        // 打印添加操作的结果。
        System.out.println(number);
    }

    /**
     * 测试删除管理员的方法。
     */
    @Test
    public void testDeleteAdmin() {
        // 调用AdminService的deleteAdmin方法删除ID为4的管理员，并打印返回的结果。
        System.out.println(adminService.deleteAdmin(4));
    }

    /**
     * 测试更新管理员的方法。
     * 这个方法目前尚未实现，使用fail表示测试未通过。
     */
    @Test
    public void testUpdateAdmin() {
        fail("Not yet implemented");
    }

    /**
     * 测试获取所有管理员的方法。
     * 这个方法目前尚未实现，使用fail表示测试未通过。
     */
    @Test
    public void testGetAllAdmin() {
        fail("Not yet implemented");
    }

    /**
     * 测试根据ID获取管理员的方法。
     * 这个方法目前尚未实现，使用fail表示测试未通过。
     */
    @Test
    public void testGetAdminById() {
        fail("Not yet implemented");
    }

    /**
     * 测试根据用户名获取管理员的方法。
     * 这个方法目前尚未实现，使用fail表示测试未通过。
     */
    @Test
    public void testGetAdminByName() {
        fail("Not yet implemented");
    }

}