package com.qianwen.smartman.modules.smis.service.impl; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import org.junit.jupiter.api.Test; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.Assertions; import com.qianwen.smartman.modules.smis.dto.CalendarDateDTO; public class CalendarServiceImplTest { @Test public void testDupulicateDate() { CalendarServiceImpl s = new CalendarServiceImpl(); List dateDTOList = new ArrayList<>(); Assertions.assertNotNull(s.dupulicateDate(null)); Assertions.assertNotNull(s.dupulicateDate(dateDTOList)); LocalDate d1 = LocalDate.now(); CalendarDateDTO dto1 = new CalendarDateDTO(); dto1.setCalendarDate(d1); Assertions.assertTrue(s.dupulicateDate(Arrays.asList(dto1)).isEmpty()); CalendarDateDTO dto2 = new CalendarDateDTO(); dto2.setCalendarDate(d1); List dupList = s.dupulicateDate(Arrays.asList(dto1,dto2)); Assertions.assertTrue(dupList.size()==1); //昨天,加入列表 LocalDate d3 = d1.minusDays(1); CalendarDateDTO dto3 = new CalendarDateDTO(); dto3.setCalendarDate(d3); dupList = s.dupulicateDate(Arrays.asList(dto1,dto2,dto3)); Assertions.assertTrue(dupList.size()==1); //和dto3数据相同,应该是2条重复了 LocalDate d4 = d1.minusDays(1); CalendarDateDTO dto4 = new CalendarDateDTO(); dto4.setCalendarDate(d4); dupList = s.dupulicateDate(Arrays.asList(dto1,dto2,dto3,dto4)); Assertions.assertTrue(dupList.size()==2); } @Test public void testFormatDate() { LocalDate d1 = LocalDate.of(2024, 11, 5); LocalDate d3 = LocalDate.of(2024, 11, 6); List dupList = Arrays.asList(d1,d3); String str = StringUtils.join(dupList.stream().map(dt -> dt.format(DateTimeFormatter.ISO_DATE)).collect(Collectors.toList()), ","); System.out.print("r="+str); } @Test public void testDef() { LocalDate d1 = LocalDate.of(1970, 1, 1); Assertions.assertEquals(0, d1.toEpochDay()); d1 = LocalDate.of(1970, 1, 30); Assertions.assertEquals(29, d1.toEpochDay()); } }