package org.springblade.modules.martial.service.impl;

import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springblade.modules.martial.mapper.*;
import org.springblade.modules.martial.pojo.entity.MartialScheduleGroup;
import org.springblade.modules.martial.service.IMartialProjectService;

import java.util.ArrayList;

import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;

@ExtendWith(MockitoExtension.class)
@DisplayName("ScheduleArrangeService Basic Tests")
class ScheduleArrangeServiceImplTest {

    @Mock
    private MartialScheduleGroupMapper scheduleGroupMapper;
    
    @Mock
    private MartialScheduleMapper scheduleMapper;
    
    @Mock
    private MartialScheduleAthleteMapper scheduleAthleteMapper;
    
    @Mock
    private IMartialProjectService projectService;

    @InjectMocks
    private ScheduleArrangeServiceImpl scheduleArrangeService;

    @Test
    @DisplayName("Service should be instantiated")
    void serviceShouldBeInstantiated() {
        assertNotNull(scheduleArrangeService);
    }

    @Test
    @DisplayName("Should have required dependencies injected")
    void shouldHaveRequiredDependenciesInjected() {
        assertNotNull(scheduleGroupMapper);
        assertNotNull(scheduleMapper);
        assertNotNull(scheduleAthleteMapper);
        assertNotNull(projectService);
    }
}
