You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xiaomibianqianweihu/calendar_test.cpp

550 lines
28 KiB

#include "calendar.h"
#include "gtest/gtest.h"
TEST(blaTeat, test1){
Calendar* m_calendar = new Calendar;
Calendar* test = new Calendar;
m_calendar->SetSolarDate(2111, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(1888, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 100);
m_calendar->SetSolarDate(2021, 11, 29, 230, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 4, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 5, 29, 23, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 10);
std::cout << "农历年:" << m_calendar->lunarYear << std::endl;
std::cout << "农历月:" << m_calendar->lunarMonth << std::endl;
std::cout << "农历日:" << m_calendar->lunarDay << std::endl;
std::cout << "年干支:" << m_calendar->lunarYearZhu << std::endl;
std::cout << "月干支:" << m_calendar->lunarMonthZhu << std::endl;
std::cout << "日干支:" << m_calendar->lunarDayZhu << std::endl;
std::cout << "时干支:" << m_calendar->lunarHourZhu << std::endl;
std::cout << "当月节气一:" << m_calendar->jieQiOne << std::endl;
std::cout << "当月节气二:" << m_calendar->jieQiTwo << std::endl;
EXPECT_EQ(365,m_calendar->getLunarYearDays(2021));
EXPECT_EQ(28,m_calendar->getLunarLeapDays(2020));
EXPECT_EQ(12,m_calendar->getLunarLeapMonth(2020));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",-10));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",900000));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("",1000));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220101"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220228"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20200229"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211231"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211201"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20210301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal(""));
EXPECT_EQ(false,m_calendar->IsTimeLegal("2400000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("240000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("236100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("230061"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("-30000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("00-300"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("0000-3"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20200230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202002-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202102-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210333"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202103-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202104-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210433"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18040301"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000401"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18001101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000201"));
EXPECT_EQ("1",m_calendar->GetSysDateTimeMill());
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","20000102","20000103"));
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","19990101","19990102"));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate(""));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate("1880001"));
m_calendar->getYearMonthZhu();
std::string a = "";
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", false));
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", true));
EXPECT_EQ("1",m_calendar->GetStandardTime(20, 20, 20));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->getRemainder(1,50));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetDateTimeDiffTwo("",""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210129"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("202112310"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210830"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetPreDayFromDate("20210101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetWeekIndexFromDate("1880001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetDateFromTimeDiffAndBase("20200202020202",1000));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal("231654894984651484"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("123456789"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200201"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200301"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200401"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200501"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200601"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200701"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200801"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200901"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201201"));
test->SetSolarDate(2100, 1, 1, 20, 01, 10);
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->GetDateTimeDiffTwo("20200202020202020", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "20200202020202020");
test->GetDateTimeDiffTwo("", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "");
test->IsSolarLegal("20201300");
test->IsSolarLegal("20200000");
test->IsSolarLegal("20200202");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsDateTimeLegal("20201300250000");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsSolarLegal("20210230");
test->IsSolarLegal("20210200");
test->IsSolarLegal("20210215");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsTimeLegal("212020");
test->IsTimeLegal("212060");
test->IsTimeLegal("2120-1");
m_calendar->SetSolarDate(2111, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(1888, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 100);
m_calendar->SetSolarDate(2021, 11, 29, 230, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 4, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 5, 29, 23, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 10);
std::cout << "农历年:" << m_calendar->lunarYear << std::endl;
std::cout << "农历月:" << m_calendar->lunarMonth << std::endl;
std::cout << "农历日:" << m_calendar->lunarDay << std::endl;
std::cout << "年干支:" << m_calendar->lunarYearZhu << std::endl;
std::cout << "月干支:" << m_calendar->lunarMonthZhu << std::endl;
std::cout << "日干支:" << m_calendar->lunarDayZhu << std::endl;
std::cout << "时干支:" << m_calendar->lunarHourZhu << std::endl;
std::cout << "当月节气一:" << m_calendar->jieQiOne << std::endl;
std::cout << "当月节气二:" << m_calendar->jieQiTwo << std::endl;
EXPECT_EQ(365,m_calendar->getLunarYearDays(2021));
EXPECT_EQ(28,m_calendar->getLunarLeapDays(2020));
EXPECT_EQ(12,m_calendar->getLunarLeapMonth(2020));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",-10));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",900000));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("",1000));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220101"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220228"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20200229"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211231"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211201"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20210301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal(""));
EXPECT_EQ(false,m_calendar->IsTimeLegal("2400000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("240000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("236100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("230061"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("-30000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("00-300"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("0000-3"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20200230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202002-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202102-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210333"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202103-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202104-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210433"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18040301"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000401"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18001101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000201"));
EXPECT_EQ("1",m_calendar->GetSysDateTimeMill());
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","20000102","20000103"));
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","19990101","19990102"));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate(""));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate("1880001"));
m_calendar->getYearMonthZhu();
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", false));
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", true));
EXPECT_EQ("1",m_calendar->GetStandardTime(20, 20, 20));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->getRemainder(1,50));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetDateTimeDiffTwo("",""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210129"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("202112310"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210830"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetPreDayFromDate("20210101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetWeekIndexFromDate("1880001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetDateFromTimeDiffAndBase("20200202020202",1000));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal("231654894984651484"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("123456789"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200201"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200301"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200401"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200501"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200601"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200701"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200801"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200901"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201201"));
test->SetSolarDate(2100, 1, 1, 20, 01, 10);
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->GetDateTimeDiffTwo("20200202020202020", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "20200202020202020");
test->GetDateTimeDiffTwo("", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "");
test->IsSolarLegal("20201300");
test->IsSolarLegal("20200000");
test->IsSolarLegal("20200202");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsDateTimeLegal("20201300250000");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsSolarLegal("20210230");
test->IsSolarLegal("20210200");
test->IsSolarLegal("20210215");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsTimeLegal("212020");
test->IsTimeLegal("212060");
test->IsTimeLegal("2120-1");
m_calendar->SetSolarDate(2111, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(1888, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 100);
m_calendar->SetSolarDate(2021, 11, 29, 230, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 4, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 5, 29, 23, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 10);
std::cout << "农历年:" << m_calendar->lunarYear << std::endl;
std::cout << "农历月:" << m_calendar->lunarMonth << std::endl;
std::cout << "农历日:" << m_calendar->lunarDay << std::endl;
std::cout << "年干支:" << m_calendar->lunarYearZhu << std::endl;
std::cout << "月干支:" << m_calendar->lunarMonthZhu << std::endl;
std::cout << "日干支:" << m_calendar->lunarDayZhu << std::endl;
std::cout << "时干支:" << m_calendar->lunarHourZhu << std::endl;
std::cout << "当月节气一:" << m_calendar->jieQiOne << std::endl;
std::cout << "当月节气二:" << m_calendar->jieQiTwo << std::endl;
EXPECT_EQ(365,m_calendar->getLunarYearDays(2021));
EXPECT_EQ(28,m_calendar->getLunarLeapDays(2020));
EXPECT_EQ(12,m_calendar->getLunarLeapMonth(2020));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",-10));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",900000));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("",1000));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220101"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220228"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20200229"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211231"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211201"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20210301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal(""));
EXPECT_EQ(false,m_calendar->IsTimeLegal("2400000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("240000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("236100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("230061"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("-30000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("00-300"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("0000-3"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20200230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202002-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202102-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210333"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202103-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202104-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210433"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18040301"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000401"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18001101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000201"));
EXPECT_EQ("1",m_calendar->GetSysDateTimeMill());
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","20000102","20000103"));
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","19990101","19990102"));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate(""));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate("1880001"));
m_calendar->getYearMonthZhu();
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", false));
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", true));
EXPECT_EQ("1",m_calendar->GetStandardTime(20, 20, 20));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->getRemainder(1,50));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetDateTimeDiffTwo("",""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210129"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("202112310"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210830"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetPreDayFromDate("20210101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetWeekIndexFromDate("1880001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetDateFromTimeDiffAndBase("20200202020202",1000));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal("231654894984651484"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("123456789"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200201"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200301"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200401"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200501"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200601"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200701"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200801"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200901"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201201"));
test->SetSolarDate(2100, 1, 1, 20, 01, 10);
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->GetDateTimeDiffTwo("20200202020202020", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "20200202020202020");
test->GetDateTimeDiffTwo("", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "");
test->IsSolarLegal("20201300");
test->IsSolarLegal("20200000");
test->IsSolarLegal("20200202");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsDateTimeLegal("20201300250000");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsSolarLegal("20210230");
test->IsSolarLegal("20210200");
test->IsSolarLegal("20210215");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsTimeLegal("212020");
test->IsTimeLegal("212060");
test->IsTimeLegal("2120-1");
m_calendar->SetSolarDate(2111, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(1888, 11, 29, 20, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 100);
m_calendar->SetSolarDate(2021, 11, 29, 230, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 4, 29, 23, 01, 10);
m_calendar->SetSolarDate(2020, 5, 29, 23, 01, 10);
m_calendar->SetSolarDate(2021, 11, 29, 20, 01, 10);
std::cout << "农历年:" << m_calendar->lunarYear << std::endl;
std::cout << "农历月:" << m_calendar->lunarMonth << std::endl;
std::cout << "农历日:" << m_calendar->lunarDay << std::endl;
std::cout << "年干支:" << m_calendar->lunarYearZhu << std::endl;
std::cout << "月干支:" << m_calendar->lunarMonthZhu << std::endl;
std::cout << "日干支:" << m_calendar->lunarDayZhu << std::endl;
std::cout << "时干支:" << m_calendar->lunarHourZhu << std::endl;
std::cout << "当月节气一:" << m_calendar->jieQiOne << std::endl;
std::cout << "当月节气二:" << m_calendar->jieQiTwo << std::endl;
EXPECT_EQ(365,m_calendar->getLunarYearDays(2021));
EXPECT_EQ(28,m_calendar->getLunarLeapDays(2020));
EXPECT_EQ(12,m_calendar->getLunarLeapMonth(2020));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",-10));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("19000106020357",900000));
EXPECT_EQ("1",m_calendar->GetDateFromTimeDiffAndBase("",1000));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220101"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20220228"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20200229"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211231"));
EXPECT_EQ("1",m_calendar->GetAfterDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211229"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211201"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20211101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20210301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200301"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200101"));
EXPECT_EQ("1",m_calendar->GetPreDayFromDate("20200100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal(""));
EXPECT_EQ(false,m_calendar->IsTimeLegal("2400000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("240000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("236100"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("230061"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("-30000"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("00-300"));
EXPECT_EQ(false,m_calendar->IsTimeLegal("0000-3"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20200230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202002-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210230"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202102-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210333"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202103-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("202104-1"));
EXPECT_EQ(false,m_calendar->IsSolarLegal("20210433"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18040301"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000401"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18001101"));
EXPECT_EQ(1,m_calendar->GetDayDiffFromBase("18000201"));
EXPECT_EQ("1",m_calendar->GetSysDateTimeMill());
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","20000102","20000103"));
EXPECT_EQ(false,m_calendar->IsDateBetweenAC("20000101","19990101","19990102"));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate(""));
EXPECT_EQ(1,m_calendar->GetWeekIndexFromDate("1880001"));
m_calendar->getYearMonthZhu();
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", false));
EXPECT_EQ("1",m_calendar->getPreMonthYearMothZhu("", "", true));
EXPECT_EQ("1",m_calendar->GetStandardTime(20, 20, 20));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->getRemainder(1,50));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetDateTimeDiffTwo("",""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210129"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("202112310"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetAfterDayFromDate("20210830"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetPreDayFromDate("20210101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(1,test->GetWeekIndexFromDate("1880001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ("1",test->GetDateFromTimeDiffAndBase("20200202020202",1000));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal("231654894984651484"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsDateTimeLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal(""));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("123456789"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200201"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200301"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200401"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200501"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200601"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200701"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200801"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20200901"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201001"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201101"));
test->SetSolarDate(2021, 11, 29, 20, 01, 10);
EXPECT_EQ(false,test->IsSolarLegal("20201201"));
test->SetSolarDate(2100, 1, 1, 20, 01, 10);
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->GetDateTimeDiffTwo("20200202020202020", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "20200202020202020");
test->GetDateTimeDiffTwo("", "2020020202020202");
test->GetDateTimeDiffTwo("2020020202020202", "");
test->IsSolarLegal("20201300");
test->IsSolarLegal("20200000");
test->IsSolarLegal("20200202");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsDateTimeLegal("20201300250000");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsSolarLegal("20210230");
test->IsSolarLegal("20210200");
test->IsSolarLegal("20210215");
test->SetSolarDate(1990, 5, 1, 20, 01, 10);
test->IsTimeLegal("212020");
test->IsTimeLegal("212060");
test->IsTimeLegal("2120-1");
delete m_calendar;
m_calendar = nullptr;
delete test;
test = nullptr;
}