diff --git a/README.md b/README.md index e2e7915..796162c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ lunar是一款无第三方依赖的公历(阳历)、农历(阴历、老黄历) cn.6tail lunar - 1.2.21 + 1.2.22 ``` diff --git a/README_EN.md b/README_EN.md index f665f89..b8e72b8 100644 --- a/README_EN.md +++ b/README_EN.md @@ -12,7 +12,7 @@ lunar is a calendar library for Solar and Chinese Lunar. cn.6tail lunar - 1.2.21 + 1.2.22 ``` diff --git a/pom.xml b/pom.xml index 1e45239..55bd715 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ cn.6tail lunar jar - 1.2.21 + 1.2.22 ${project.groupId}:${project.artifactId} https://github.com/6tail/lunar-java a calendar library for Solar and Chinese Lunar diff --git a/src/main/java/com/nlf/calendar/ExactDate.java b/src/main/java/com/nlf/calendar/ExactDate.java index 1770488..a625132 100644 --- a/src/main/java/com/nlf/calendar/ExactDate.java +++ b/src/main/java/com/nlf/calendar/ExactDate.java @@ -18,6 +18,7 @@ public class ExactDate { */ private static final TimeZone TIME_ZONE = TimeZone.getTimeZone("GMT+8"); + @SuppressWarnings("MagicConstant") public static Calendar fromYmdHms(int year, int month, int day, int hour, int minute, int second) { Calendar c = Calendar.getInstance(TIME_ZONE); c.set(year, month - 1, day, hour, minute, second); diff --git a/src/main/java/com/nlf/calendar/Foto.java b/src/main/java/com/nlf/calendar/Foto.java index 6fe9997..c41868a 100644 --- a/src/main/java/com/nlf/calendar/Foto.java +++ b/src/main/java/com/nlf/calendar/Foto.java @@ -18,7 +18,7 @@ public class Foto { /** * 阴历 */ - private Lunar lunar; + private final Lunar lunar; public Foto(Lunar lunar) { this.lunar = lunar; @@ -228,7 +228,7 @@ public class Foto { public String toFullString() { StringBuilder s = new StringBuilder(); - s.append(toString()); + s.append(this); for (FotoFestival f : getFestivals()) { s.append(" ("); s.append(f); diff --git a/src/main/java/com/nlf/calendar/FotoFestival.java b/src/main/java/com/nlf/calendar/FotoFestival.java index 4a6fb17..6a4dd94 100644 --- a/src/main/java/com/nlf/calendar/FotoFestival.java +++ b/src/main/java/com/nlf/calendar/FotoFestival.java @@ -10,22 +10,22 @@ public class FotoFestival { /** * 是日何日,如:雷斋日 */ - private String name; + private final String name; /** * 犯之因果,如:犯者夺纪 */ - private String result; + private final String result; /** * 是否每月同 */ - private boolean everyMonth; + private final boolean everyMonth; /** * 备注,如:宜先一日即戒 */ - private String remark; + private final String remark; public FotoFestival(String name, String result, boolean everyMonth, String remark) { this.name = name; diff --git a/src/main/java/com/nlf/calendar/Lunar.java b/src/main/java/com/nlf/calendar/Lunar.java index c3014dd..5c64c0a 100644 --- a/src/main/java/com/nlf/calendar/Lunar.java +++ b/src/main/java/com/nlf/calendar/Lunar.java @@ -35,7 +35,7 @@ public class Lunar { /** * 对应阳历 */ - private Solar solar; + private final Solar solar; /** * 时对应的天干下标,0-9 */ @@ -116,15 +116,15 @@ public class Lunar { /** * 阳历小时 */ - private int hour; + private final int hour; /** * 阳历分钟 */ - private int minute; + private final int minute; /** * 阳历秒钟 */ - private int second; + private final int second; /** * 八字 */ @@ -132,7 +132,7 @@ public class Lunar { /** * 24节气表(对应阳历的准确时刻) */ - private Map jieQi = new LinkedHashMap(); + private final Map jieQi = new LinkedHashMap(); /** * 默认使用当前日期初始化 @@ -191,7 +191,6 @@ public class Lunar { * * @param date 阳历日期 */ - @SuppressWarnings("MagicConstant") public Lunar(Date date) { solar = new Solar(date); int currentYear = solar.getYear(); @@ -968,9 +967,27 @@ public class Lunar { if (null != fs) { l.addAll(fs); } - if (solar.toYmd().equals(jieQi.get("清明").next(-1).toYmd())) { + String solarYmd = solar.toYmd(); + if (solarYmd.equals(jieQi.get("清明").next(-1).toYmd())) { l.add("寒食节"); } + Solar jq = jieQi.get("立春"); + int offset = 4 - jq.getLunar().getDayGanIndex(); + if (offset < 0) { + offset += 10; + } + if (solarYmd.equals(jq.next(offset + 40).toYmd())) { + l.add("春社"); + } + + jq = jieQi.get("立秋"); + offset = 4 - jq.getLunar().getDayGanIndex(); + if (offset < 0) { + offset += 10; + } + if (solarYmd.equals(jq.next(offset + 40).toYmd())) { + l.add("秋社"); + } return l; } @@ -1292,14 +1309,12 @@ public class Lunar { public String getMonthPositionTaiSui(int sect) { int monthZhiIndex; int monthGanIndex; - switch (sect) { - case 3: - monthZhiIndex = this.monthZhiIndexExact; - monthGanIndex = this.monthGanIndexExact; - break; - default: - monthZhiIndex = this.monthZhiIndex; - monthGanIndex = this.monthGanIndex; + if (sect == 3) { + monthZhiIndex = this.monthZhiIndexExact; + monthGanIndex = this.monthGanIndexExact; + } else { + monthZhiIndex = this.monthZhiIndex; + monthGanIndex = this.monthGanIndex; } return getMonthPositionTaiSui(monthZhiIndex, monthGanIndex); } @@ -2458,7 +2473,7 @@ public class Lunar { public String toFullString() { StringBuilder s = new StringBuilder(); - s.append(toString()); + s.append(this); s.append(" "); s.append(getYearInGanZhi()); s.append("("); @@ -2862,7 +2877,6 @@ public class Lunar { * * @return 数九,如果不是数九天,返回null */ - @SuppressWarnings("MagicConstant") public ShuJiu getShuJiu() { Calendar currentCalendar = ExactDate.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay()); Solar start = jieQi.get("DONG_ZHI"); @@ -2889,7 +2903,6 @@ public class Lunar { * * @return 三伏,如果不是伏天,返回null */ - @SuppressWarnings("MagicConstant") public Fu getFu() { Calendar currentCalendar = ExactDate.fromYmd(solar.getYear(), solar.getMonth(), solar.getDay()); Solar xiaZhi = jieQi.get("夏至"); @@ -2962,7 +2975,6 @@ public class Lunar { * * @return 物候 */ - @SuppressWarnings("MagicConstant") public String getWuHou() { JieQi jieQi = getPrevJieQi(true); String name = jieQi.getName(); diff --git a/src/main/java/com/nlf/calendar/LunarMonth.java b/src/main/java/com/nlf/calendar/LunarMonth.java index 94eaf50..2374716 100644 --- a/src/main/java/com/nlf/calendar/LunarMonth.java +++ b/src/main/java/com/nlf/calendar/LunarMonth.java @@ -14,22 +14,22 @@ public class LunarMonth { /** * 农历年 */ - private int year; + private final int year; /** * 农历月:1-12,闰月为负数,如闰2月为-2 */ - private int month; + private final int month; /** * 天数,大月30天,小月29天 */ - private int dayCount; + private final int dayCount; /** * 初一的儒略日 */ - private double firstJulianDay; + private final double firstJulianDay; /** * 初始化 diff --git a/src/main/java/com/nlf/calendar/LunarTime.java b/src/main/java/com/nlf/calendar/LunarTime.java index a262117..e6234ec 100644 --- a/src/main/java/com/nlf/calendar/LunarTime.java +++ b/src/main/java/com/nlf/calendar/LunarTime.java @@ -15,17 +15,17 @@ public class LunarTime { /** * 天干下标,0-9 */ - private int ganIndex; + private final int ganIndex; /** * 地支下标,0-11 */ - private int zhiIndex; + private final int zhiIndex; /** * 阴历 */ - private Lunar lunar; + private final Lunar lunar; public LunarTime(int lunarYear, int lunarMonth, int lunarDay, int hour, int minute, int second) { this.lunar = Lunar.fromYmdHms(lunarYear, lunarMonth, lunarDay, hour, minute, second); @@ -316,10 +316,7 @@ public class LunarTime { //顺逆 String solarYmd = lunar.getSolar().toYmd(); Map jieQi = lunar.getJieQiTable(); - boolean asc = false; - if (solarYmd.compareTo(jieQi.get("冬至").toYmd()) >= 0 && solarYmd.compareTo(jieQi.get("夏至").toYmd()) < 0) { - asc = true; - } + boolean asc = solarYmd.compareTo(jieQi.get("冬至").toYmd()) >= 0 && solarYmd.compareTo(jieQi.get("夏至").toYmd()) < 0; int start = asc ? 7 : 3; String dayZhi = lunar.getDayZhi(); if ("子午卯酉".contains(dayZhi)) { diff --git a/src/main/java/com/nlf/calendar/LunarYear.java b/src/main/java/com/nlf/calendar/LunarYear.java index 4c430b9..81b7c50 100644 --- a/src/main/java/com/nlf/calendar/LunarYear.java +++ b/src/main/java/com/nlf/calendar/LunarYear.java @@ -50,27 +50,27 @@ public class LunarYear { /** * 农历年 */ - private int year; + private final int year; /** * 天干下标 */ - private int ganIndex; + private final int ganIndex; /** * 地支下标 */ - private int zhiIndex; + private final int zhiIndex; /** * 农历月们 */ - private List months = new ArrayList(); + private final List months = new ArrayList(); /** * 节气儒略日们 */ - private List jieQiJulianDays = new ArrayList(); + private final List jieQiJulianDays = new ArrayList(); /** * 初始化 diff --git a/src/main/java/com/nlf/calendar/Solar.java b/src/main/java/com/nlf/calendar/Solar.java index 0f9061c..b2238ce 100644 --- a/src/main/java/com/nlf/calendar/Solar.java +++ b/src/main/java/com/nlf/calendar/Solar.java @@ -19,34 +19,41 @@ public class Solar { * 2000年儒略日数(2000-1-1 12:00:00 UTC) */ public static final double J2000 = 2451545; + /** * 年 */ - private int year; + private final int year; + /** * 月 */ - private int month; + private final int month; + /** * 日 */ - private int day; + private final int day; + /** * 时 */ - private int hour; + private final int hour; + /** * 分 */ - private int minute; + private final int minute; + /** * 秒 */ - private int second; + private final int second; + /** * 日历 */ - private Calendar calendar; + private final Calendar calendar; /** * 默认使用当前日期初始化 @@ -76,7 +83,6 @@ public class Solar { * @param minute 分钟,0到59 * @param second 秒钟,0到59 */ - @SuppressWarnings("MagicConstant") public Solar(int year, int month, int day, int hour, int minute, int second) { calendar = ExactDate.fromYmdHms(year, month, day, hour, minute, second); this.year = year; @@ -123,7 +129,6 @@ public class Solar { * * @param julianDay 儒略日 */ - @SuppressWarnings("MagicConstant") public Solar(double julianDay) { int d = (int) (julianDay + 0.5); double f = julianDay + 0.5 - d; @@ -381,6 +386,12 @@ public class Solar { if (null != f) { l.add(f); } + if (day + 7 >= SolarUtil.getDaysOfMonth(year, month)) { + f = SolarUtil.WEEK_FESTIVAL.get(month + "-0-" + week); + if (null != f) { + l.add(f); + } + } return l; } @@ -515,10 +526,7 @@ public class Solar { int m = this.month; double d = this.day + ((this.second * 1D / 60 + this.minute) / 60 + this.hour) / 24; int n = 0; - boolean g = false; - if (y * 372 + m * 31 + (int) d >= 588829) { - g = true; - } + boolean g = y * 372 + m * 31 + (int) d >= 588829; if (m <= 2) { m += 12; y--; @@ -595,7 +603,6 @@ public class Solar { * @param onlyWorkday 是否仅限工作日 * @return 阳历日期 */ - @SuppressWarnings("MagicConstant") public Solar next(int days, boolean onlyWorkday) { Calendar c = ExactDate.fromYmdHms(year, month, day, hour, minute, second); if (0 != days) { diff --git a/src/main/java/com/nlf/calendar/SolarHalfYear.java b/src/main/java/com/nlf/calendar/SolarHalfYear.java index f2933d4..8153160 100644 --- a/src/main/java/com/nlf/calendar/SolarHalfYear.java +++ b/src/main/java/com/nlf/calendar/SolarHalfYear.java @@ -14,11 +14,11 @@ public class SolarHalfYear { /** * 年 */ - private int year; + private final int year; /** * 月 */ - private int month; + private final int month; /** * 半年的月数 @@ -124,7 +124,6 @@ public class SolarHalfYear { * @param halfYears 推移的半年数,负数为倒推 * @return 推移后的半年 */ - @SuppressWarnings("MagicConstant") public SolarHalfYear next(int halfYears) { if (0 == halfYears) { return new SolarHalfYear(year, month); diff --git a/src/main/java/com/nlf/calendar/SolarMonth.java b/src/main/java/com/nlf/calendar/SolarMonth.java index 93c8323..b95af55 100644 --- a/src/main/java/com/nlf/calendar/SolarMonth.java +++ b/src/main/java/com/nlf/calendar/SolarMonth.java @@ -16,11 +16,11 @@ public class SolarMonth { /** * 年 */ - private int year; + private final int year; /** * 月 */ - private int month; + private final int month; /** * 默认当月 @@ -128,7 +128,6 @@ public class SolarMonth { * @param months 月数 * @return 阳历月 */ - @SuppressWarnings("MagicConstant") public SolarMonth next(int months) { Calendar c = ExactDate.fromYmd(year, month, 1); c.add(Calendar.MONTH, months); diff --git a/src/main/java/com/nlf/calendar/SolarSeason.java b/src/main/java/com/nlf/calendar/SolarSeason.java index 92e68ca..6bc57f0 100644 --- a/src/main/java/com/nlf/calendar/SolarSeason.java +++ b/src/main/java/com/nlf/calendar/SolarSeason.java @@ -14,11 +14,13 @@ public class SolarSeason { /** * 年 */ - private int year; + private final int year; + /** * 月 */ - private int month; + private final int month; + /** * 一个季度的月数 */ diff --git a/src/main/java/com/nlf/calendar/SolarWeek.java b/src/main/java/com/nlf/calendar/SolarWeek.java index 8aacc65..9adecfb 100644 --- a/src/main/java/com/nlf/calendar/SolarWeek.java +++ b/src/main/java/com/nlf/calendar/SolarWeek.java @@ -16,19 +16,22 @@ public class SolarWeek { /** * 年 */ - private int year; + private final int year; + /** * 月 */ - private int month; + private final int month; + /** * 日 */ - private int day; + private final int day; + /** * 星期几作为一周的开始,1234560分别代表星期一至星期天 */ - private int start; + private final int start; /** * 默认当月 @@ -187,7 +190,6 @@ public class SolarWeek { * @param separateMonth 是否按月单独计算 * @return 推移后的阳历周 */ - @SuppressWarnings("MagicConstant") public SolarWeek next(int weeks, boolean separateMonth) { if (0 == weeks) { return new SolarWeek(year, month, day, start); diff --git a/src/main/java/com/nlf/calendar/SolarYear.java b/src/main/java/com/nlf/calendar/SolarYear.java index 1488f53..f5924b0 100644 --- a/src/main/java/com/nlf/calendar/SolarYear.java +++ b/src/main/java/com/nlf/calendar/SolarYear.java @@ -14,7 +14,7 @@ public class SolarYear { /** * 年 */ - private int year; + private final int year; /** * 一年的月数 diff --git a/src/main/java/com/nlf/calendar/Tao.java b/src/main/java/com/nlf/calendar/Tao.java index 6b4978f..3b8b1bd 100644 --- a/src/main/java/com/nlf/calendar/Tao.java +++ b/src/main/java/com/nlf/calendar/Tao.java @@ -18,7 +18,7 @@ public class Tao { /** * 阴历 */ - private Lunar lunar; + private final Lunar lunar; public Tao(Lunar lunar) { this.lunar = lunar; diff --git a/src/main/java/com/nlf/calendar/TaoFestival.java b/src/main/java/com/nlf/calendar/TaoFestival.java index e09b30b..5b1cf79 100644 --- a/src/main/java/com/nlf/calendar/TaoFestival.java +++ b/src/main/java/com/nlf/calendar/TaoFestival.java @@ -10,12 +10,12 @@ public class TaoFestival { /** * 名称 */ - private String name; + private final String name; /** * 备注 */ - private String remark; + private final String remark; public TaoFestival(String name, String remark) { this.name = name; diff --git a/src/main/java/com/nlf/calendar/eightchar/DaYun.java b/src/main/java/com/nlf/calendar/eightchar/DaYun.java index 89abb6f..cbdea60 100644 --- a/src/main/java/com/nlf/calendar/eightchar/DaYun.java +++ b/src/main/java/com/nlf/calendar/eightchar/DaYun.java @@ -12,28 +12,34 @@ public class DaYun { /** * 开始年(含) */ - private int startYear; + private final int startYear; + /** * 结束年(含) */ - private int endYear; + private final int endYear; + /** * 开始年龄(含) */ - private int startAge; + private final int startAge; + /** * 结束年龄(含) */ - private int endAge; + private final int endAge; + /** * 序数,0-9 */ - private int index; + private final int index; + /** * 运 */ - private Yun yun; - private Lunar lunar; + private final Yun yun; + + private final Lunar lunar; public DaYun(Yun yun, int index) { this.yun = yun; diff --git a/src/main/java/com/nlf/calendar/eightchar/LiuNian.java b/src/main/java/com/nlf/calendar/eightchar/LiuNian.java index 9feb022..a0e28e3 100644 --- a/src/main/java/com/nlf/calendar/eightchar/LiuNian.java +++ b/src/main/java/com/nlf/calendar/eightchar/LiuNian.java @@ -12,20 +12,24 @@ public class LiuNian { /** * 序数,0-9 */ - private int index; + private final int index; + /** * 大运 */ - private DaYun daYun; + private final DaYun daYun; + /** * 年 */ - private int year; + private final int year; + /** * 年龄 */ - private int age; - private Lunar lunar; + private final int age; + + private final Lunar lunar; public LiuNian(DaYun daYun, int index) { this.daYun = daYun; diff --git a/src/main/java/com/nlf/calendar/eightchar/LiuYue.java b/src/main/java/com/nlf/calendar/eightchar/LiuYue.java index 9298dd7..1bd15f3 100644 --- a/src/main/java/com/nlf/calendar/eightchar/LiuYue.java +++ b/src/main/java/com/nlf/calendar/eightchar/LiuYue.java @@ -11,8 +11,9 @@ public class LiuYue { /** * 序数,0-9 */ - private int index; - private LiuNian liuNian; + private final int index; + + private final LiuNian liuNian; public LiuYue(LiuNian liuNian, int index) { this.liuNian = liuNian; diff --git a/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java b/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java index 3b784cc..1cf6753 100644 --- a/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java +++ b/src/main/java/com/nlf/calendar/eightchar/XiaoYun.java @@ -12,24 +12,29 @@ public class XiaoYun { /** * 序数,0-9 */ - private int index; + private final int index; + /** * 大运 */ - private DaYun daYun; + private final DaYun daYun; + /** * 年 */ - private int year; + private final int year; + /** * 年龄 */ - private int age; + private final int age; + /** * 是否顺推 */ - private boolean forward; - private Lunar lunar; + private final boolean forward; + + private final Lunar lunar; public XiaoYun(DaYun daYun, int index, boolean forward) { this.daYun = daYun; diff --git a/src/main/java/com/nlf/calendar/eightchar/Yun.java b/src/main/java/com/nlf/calendar/eightchar/Yun.java index 12e4887..a8abbf2 100644 --- a/src/main/java/com/nlf/calendar/eightchar/Yun.java +++ b/src/main/java/com/nlf/calendar/eightchar/Yun.java @@ -14,7 +14,7 @@ public class Yun { /** * 性别(1男,0女) */ - private int gender; + private final int gender; /** * 起运年数 @@ -39,9 +39,9 @@ public class Yun { /** * 是否顺推 */ - private boolean forward; + private final boolean forward; - private Lunar lunar; + private final Lunar lunar; /** * 使用默认流派1初始化运 diff --git a/src/main/java/com/nlf/calendar/util/LunarUtil.java b/src/main/java/com/nlf/calendar/util/LunarUtil.java index af53544..a64e69e 100644 --- a/src/main/java/com/nlf/calendar/util/LunarUtil.java +++ b/src/main/java/com/nlf/calendar/util/LunarUtil.java @@ -152,7 +152,7 @@ public class LunarUtil{ put("1-25",Collections.nCopies(1,"填仓节")); put("1-30",Collections.nCopies(1,"正月晦")); put("2-1",Collections.nCopies(1,"中和节")); - put("2-2",Collections.nCopies(1,"春社")); + put("2-2",Collections.nCopies(1,"社日节")); put("3-3",Collections.nCopies(1,"上巳节")); put("5-20",Collections.nCopies(1,"分龙节")); put("5-25",Collections.nCopies(1,"会龙节")); diff --git a/src/main/java/com/nlf/calendar/util/SolarUtil.java b/src/main/java/com/nlf/calendar/util/SolarUtil.java index 7e95882..cbd52a9 100644 --- a/src/main/java/com/nlf/calendar/util/SolarUtil.java +++ b/src/main/java/com/nlf/calendar/util/SolarUtil.java @@ -42,6 +42,8 @@ public class SolarUtil { put("8-1", "建军节"); put("9-10", "教师节"); put("10-1", "国庆节"); + put("10-31", "万圣节前夜"); + put("11-1", "万圣节"); put("12-24", "平安夜"); put("12-25", "圣诞节"); } @@ -53,6 +55,7 @@ public class SolarUtil { private static final long serialVersionUID = -1; { + put("3-0-1", "全国中小学生安全教育日"); put("5-2-0", "母亲节"); put("6-3-0", "父亲节"); put("11-4-4", "感恩节"); diff --git a/src/test/java/test/GanZhiTest.java b/src/test/java/test/GanZhiTest.java index 9de27e5..699c23f 100644 --- a/src/test/java/test/GanZhiTest.java +++ b/src/test/java/test/GanZhiTest.java @@ -333,4 +333,22 @@ public class GanZhiTest { Assert.assertEquals("丁丑",lunar.getMonthInGanZhiExact()); } + @Test + public void test19() { + Solar solar = new Solar(2022,4,6,20,18,0); + Lunar lunar = solar.getLunar(); + Assert.assertEquals("壬寅",lunar.getYearInGanZhi()); + Assert.assertEquals("壬寅",lunar.getYearInGanZhiByLiChun()); + Assert.assertEquals("壬寅",lunar.getYearInGanZhiExact()); + + Assert.assertEquals("甲辰",lunar.getMonthInGanZhi()); + Assert.assertEquals("甲辰",lunar.getMonthInGanZhiExact()); + + Assert.assertEquals("己丑",lunar.getDayInGanZhi()); + Assert.assertEquals("己丑",lunar.getDayInGanZhiExact()); + Assert.assertEquals("己丑",lunar.getDayInGanZhiExact2()); + + Assert.assertEquals("甲戌",lunar.getTimeInGanZhi()); + } + } diff --git a/src/test/java/test/LunarTest.java b/src/test/java/test/LunarTest.java index abc7e01..f843584 100644 --- a/src/test/java/test/LunarTest.java +++ b/src/test/java/test/LunarTest.java @@ -424,4 +424,39 @@ public class LunarTest { Assert.assertEquals(4, lunar.getDayJi().size()); } + @Test + public void test57() { + Solar solar = new Solar(1991, 2, 5); + Lunar lunar = solar.getLunar(); + Assert.assertEquals("庚寅", lunar.getMonthInGanZhi()); + } + + @Test + public void test58() { + Solar solar = new Solar(2021, 3, 21); + Lunar lunar = solar.getLunar(); + Assert.assertEquals("春社", lunar.getOtherFestivals().get(0)); + } + + @Test + public void test59() { + Solar solar = new Solar(2022, 3, 16); + Lunar lunar = solar.getLunar(); + Assert.assertEquals("春社", lunar.getOtherFestivals().get(0)); + } + + @Test + public void test60() { + Solar solar = new Solar(1722, 9, 25); + Lunar lunar = solar.getLunar(); + Assert.assertEquals("秋社", lunar.getOtherFestivals().get(0)); + } + + @Test + public void test61() { + Solar solar = new Solar(840, 9, 14); + Lunar lunar = solar.getLunar(); + Assert.assertEquals("秋社", lunar.getOtherFestivals().get(0)); + } + } diff --git a/src/test/java/test/SolarTest.java b/src/test/java/test/SolarTest.java index 71454a8..3a3adc6 100644 --- a/src/test/java/test/SolarTest.java +++ b/src/test/java/test/SolarTest.java @@ -47,7 +47,7 @@ public class SolarTest { @Test public void test10(){ - Assert.assertEquals(false, SolarUtil.isLeapYear(1500)); + Assert.assertFalse(SolarUtil.isLeapYear(1500)); } @Test @@ -73,4 +73,10 @@ public class SolarTest { Assert.assertEquals("2020-01-19",date.next(1,true).toString()); } + @Test + public void test11(){ + Solar solar = new Solar(2022, 3, 28); + Assert.assertEquals("全国中小学生安全教育日",solar.getFestivals().get(0)); + } + }