Added explicit and fixed tests

This commit is contained in:
John Wellbelove 2026-01-13 09:43:49 +01:00
parent e9c2577d8e
commit 9d9e99cbae
11 changed files with 98 additions and 94 deletions

View File

@ -164,7 +164,7 @@ namespace etl
//*********************************************************************** //***********************************************************************
/// Conversion operator to unsigned int /// Conversion operator to unsigned int
//*********************************************************************** //***********************************************************************
ETL_CONSTEXPR14 operator unsigned() const ETL_NOEXCEPT ETL_CONSTEXPR14 explicit operator unsigned() const ETL_NOEXCEPT
{ {
return static_cast<unsigned>(value); return static_cast<unsigned>(value);
} }

View File

@ -199,7 +199,7 @@ namespace etl
//*********************************************************************** //***********************************************************************
/// Conversion operator to unsigned int /// Conversion operator to unsigned int
//*********************************************************************** //***********************************************************************
ETL_CONSTEXPR14 operator unsigned() const ETL_NOEXCEPT ETL_CONSTEXPR14 explicit operator unsigned() const ETL_NOEXCEPT
{ {
return static_cast<unsigned>(value); return static_cast<unsigned>(value);
} }

View File

@ -182,7 +182,7 @@ namespace etl
//*********************************************************************** //***********************************************************************
/// Conversion operator to unsigned int /// Conversion operator to unsigned int
//*********************************************************************** //***********************************************************************
ETL_CONSTEXPR14 operator int() const ETL_NOEXCEPT ETL_CONSTEXPR14 explicit operator int() const ETL_NOEXCEPT
{ {
return static_cast<int>(value); return static_cast<int>(value);
} }

View File

@ -69,8 +69,8 @@ namespace
Chrono::month_day md{Chrono::January, Chrono::day{15}}; Chrono::month_day md{Chrono::January, Chrono::day{15}};
CHECK_TRUE(md.ok()); // Valid month_day CHECK_TRUE(md.ok()); // Valid month_day
CHECK_EQUAL(Chrono::January, md.month()); CHECK_EQUAL((unsigned)Chrono::January, (unsigned)md.month());
CHECK_EQUAL(Chrono::day{15}, md.day()); CHECK_EQUAL((unsigned)Chrono::day{15}, (unsigned)md.day());
} }
//************************************************************************* //*************************************************************************
@ -204,11 +204,11 @@ namespace
CHECK_TRUE(md_min.ok()); CHECK_TRUE(md_min.ok());
CHECK_TRUE(md_max.ok()); CHECK_TRUE(md_max.ok());
CHECK_EQUAL(Chrono::January, md_min.month()); CHECK_EQUAL((unsigned)Chrono::January, (unsigned)md_min.month());
CHECK_EQUAL(Chrono::day{1}, md_min.day()); CHECK_EQUAL((unsigned)Chrono::day{1}, (unsigned)md_min.day());
CHECK_EQUAL(Chrono::December, md_max.month()); CHECK_EQUAL((unsigned)Chrono::December, (unsigned)md_max.month());
CHECK_EQUAL(Chrono::day{31}, md_max.day()); CHECK_EQUAL((unsigned)Chrono::day{31}, (unsigned)md_max.day());
} }
} }
} }

View File

@ -61,7 +61,7 @@ namespace
Chrono::month_weekday mwd{ Chrono::January, Chrono::weekday_indexed(Chrono::Friday, 2) }; Chrono::month_weekday mwd{ Chrono::January, Chrono::weekday_indexed(Chrono::Friday, 2) };
CHECK_TRUE(mwd.ok()); // Valid month_weekday CHECK_TRUE(mwd.ok()); // Valid month_weekday
CHECK_EQUAL(Chrono::January, mwd.month()); CHECK_EQUAL((unsigned)Chrono::January, (unsigned)mwd.month());
CHECK_EQUAL(Chrono::Friday.c_encoding(), mwd.weekday_indexed().weekday().c_encoding()); CHECK_EQUAL(Chrono::Friday.c_encoding(), mwd.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(2, mwd.weekday_indexed().index()); CHECK_EQUAL(2, mwd.weekday_indexed().index());
} }

View File

@ -61,8 +61,8 @@ namespace
Chrono::month_weekday_last mwdl{ Chrono::January, Chrono::weekday_last(Chrono::Friday)}; Chrono::month_weekday_last mwdl{ Chrono::January, Chrono::weekday_last(Chrono::Friday)};
CHECK_TRUE(mwdl.ok()); // Valid month_weekday_last CHECK_TRUE(mwdl.ok()); // Valid month_weekday_last
CHECK_EQUAL(Chrono::January, mwdl.month()); CHECK_EQUAL((unsigned)Chrono::January, (unsigned)mwdl.month());
CHECK_EQUAL(Chrono::Friday.c_encoding(), mwdl.weekday_last().weekday().c_encoding()); CHECK_EQUAL((unsigned)Chrono::Friday.c_encoding(), (unsigned)mwdl.weekday_last().weekday().c_encoding());
} }
//************************************************************************* //*************************************************************************

View File

@ -52,20 +52,20 @@ namespace
etl::chrono::month_day md4 = etl::chrono::day(5) / etl::chrono::April; etl::chrono::month_day md4 = etl::chrono::day(5) / etl::chrono::April;
etl::chrono::month_day md5 = etl::chrono::day(6) / 5; etl::chrono::month_day md5 = etl::chrono::day(6) / 5;
CHECK_EQUAL(etl::chrono::January, md1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)md1.month());
CHECK_EQUAL(etl::chrono::day(2), md1.day()); CHECK_EQUAL((unsigned)etl::chrono::day(2), (unsigned)md1.day());
CHECK_EQUAL(etl::chrono::February, md2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)md2.month());
CHECK_EQUAL(etl::chrono::day(3), md2.day()); CHECK_EQUAL((unsigned)etl::chrono::day(3), (unsigned)md2.day());
CHECK_EQUAL(etl::chrono::March, md3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)md3.month());
CHECK_EQUAL(etl::chrono::day(4), md3.day()); CHECK_EQUAL((unsigned)etl::chrono::day(4), (unsigned)md3.day());
CHECK_EQUAL(etl::chrono::April, md4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)md4.month());
CHECK_EQUAL(etl::chrono::day(5), md4.day()); CHECK_EQUAL((unsigned)etl::chrono::day(5), (unsigned)md4.day());
CHECK_EQUAL(etl::chrono::May, md5.month()); CHECK_EQUAL((unsigned)etl::chrono::May, (unsigned)md5.month());
CHECK_EQUAL(etl::chrono::day(6), md5.day()); CHECK_EQUAL((unsigned)etl::chrono::day(6), (unsigned)md5.day());
} }
//************************************************************************* //*************************************************************************
@ -76,10 +76,10 @@ namespace
etl::chrono::month_day_last mdl3 = etl::chrono::last / etl::chrono::March; etl::chrono::month_day_last mdl3 = etl::chrono::last / etl::chrono::March;
etl::chrono::month_day_last mdl4 = etl::chrono::last / 4; etl::chrono::month_day_last mdl4 = etl::chrono::last / 4;
CHECK_EQUAL(etl::chrono::January, mdl1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)mdl1.month());
CHECK_EQUAL(etl::chrono::February, mdl2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)mdl2.month());
CHECK_EQUAL(etl::chrono::March, mdl3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)mdl3.month());
CHECK_EQUAL(etl::chrono::April, mdl4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)mdl4.month());
} }
//************************************************************************* //*************************************************************************
@ -90,26 +90,26 @@ namespace
etl::chrono::month_weekday mwd3 = etl::chrono::weekday_indexed(etl::chrono::Friday, 2) / etl::chrono::March; etl::chrono::month_weekday mwd3 = etl::chrono::weekday_indexed(etl::chrono::Friday, 2) / etl::chrono::March;
etl::chrono::month_weekday mwd4 = etl::chrono::weekday_indexed(etl::chrono::Sunday, 3) / 4; etl::chrono::month_weekday mwd4 = etl::chrono::weekday_indexed(etl::chrono::Sunday, 3) / 4;
CHECK_EQUAL(etl::chrono::January, mwd1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)mwd1.month());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Monday, 0).weekday().c_encoding(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Monday, 0).weekday().c_encoding(),
mwd1.weekday_indexed().weekday().c_encoding()); mwd1.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Monday, 0).index(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Monday, 0).index(),
mwd1.weekday_indexed().index()); mwd1.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::February, mwd2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)mwd2.month());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Wednesday, 1).weekday().c_encoding(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Wednesday, 1).weekday().c_encoding(),
mwd2.weekday_indexed().weekday().c_encoding()); mwd2.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Wednesday, 1).index(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Wednesday, 1).index(),
mwd2.weekday_indexed().index()); mwd2.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::March, mwd3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)mwd3.month());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Friday, 2).weekday().c_encoding(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Friday, 2).weekday().c_encoding(),
mwd3.weekday_indexed().weekday().c_encoding()); mwd3.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Friday, 2).index(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Friday, 2).index(),
mwd3.weekday_indexed().index()); mwd3.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::April, mwd4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)mwd4.month());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Sunday, 3).weekday().c_encoding(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Sunday, 3).weekday().c_encoding(),
mwd4.weekday_indexed().weekday().c_encoding()); mwd4.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Sunday, 3).index(), CHECK_EQUAL(etl::chrono::weekday_indexed(etl::chrono::Sunday, 3).index(),
@ -124,13 +124,13 @@ namespace
etl::chrono::month_weekday_last mdl3 = etl::chrono::weekday_last(etl::chrono::Wednesday) / etl::chrono::March; etl::chrono::month_weekday_last mdl3 = etl::chrono::weekday_last(etl::chrono::Wednesday) / etl::chrono::March;
etl::chrono::month_weekday_last mdl4 = etl::chrono::weekday_last(etl::chrono::Thursday) / 4; etl::chrono::month_weekday_last mdl4 = etl::chrono::weekday_last(etl::chrono::Thursday) / 4;
CHECK_EQUAL(etl::chrono::January, mdl1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)mdl1.month());
CHECK_EQUAL(etl::chrono::Monday.c_encoding(), mdl1.weekday_last().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Monday.c_encoding(), mdl1.weekday_last().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::February, mdl2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)mdl2.month());
CHECK_EQUAL(etl::chrono::Tuesday.c_encoding(), mdl2.weekday_last().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Tuesday.c_encoding(), mdl2.weekday_last().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::March, mdl3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)mdl3.month());
CHECK_EQUAL(etl::chrono::Wednesday.c_encoding(), mdl3.weekday_last().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Wednesday.c_encoding(), mdl3.weekday_last().weekday().c_encoding());
CHECK_EQUAL(etl::chrono::April, mdl4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)mdl4.month());
CHECK_EQUAL(etl::chrono::Thursday.c_encoding(), mdl4.weekday_last().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Thursday.c_encoding(), mdl4.weekday_last().weekday().c_encoding());
} }
@ -140,11 +140,11 @@ namespace
etl::chrono::year_month ym1 = etl::chrono::year(2000) / etl::chrono::April; etl::chrono::year_month ym1 = etl::chrono::year(2000) / etl::chrono::April;
etl::chrono::year_month ym2 = etl::chrono::year(2001) / 5; etl::chrono::year_month ym2 = etl::chrono::year(2001) / 5;
CHECK_EQUAL(etl::chrono::year(2000), ym1.year()); CHECK_EQUAL((int)etl::chrono::year(2000), (int)ym1.year());
CHECK_EQUAL(etl::chrono::April, ym1.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)ym1.month());
CHECK_EQUAL(etl::chrono::year(2001), ym2.year()); CHECK_EQUAL((int)etl::chrono::year(2001), (int)ym2.year());
CHECK_EQUAL(etl::chrono::May, ym2.month()); CHECK_EQUAL((unsigned)etl::chrono::May, (unsigned)ym2.month());
} }
//************************************************************************* //*************************************************************************
@ -157,29 +157,29 @@ namespace
etl::chrono::year_month_day ymd5 = etl::chrono::month_day(etl::chrono::May, etl::chrono::day(5)) / etl::chrono::year(2004); etl::chrono::year_month_day ymd5 = etl::chrono::month_day(etl::chrono::May, etl::chrono::day(5)) / etl::chrono::year(2004);
etl::chrono::year_month_day ymd6 = etl::chrono::month_day(etl::chrono::June, etl::chrono::day(6)) / 2005; etl::chrono::year_month_day ymd6 = etl::chrono::month_day(etl::chrono::June, etl::chrono::day(6)) / 2005;
CHECK_EQUAL(etl::chrono::year(2000), ymd1.year()); CHECK_EQUAL((int)etl::chrono::year(2000), (int)ymd1.year());
CHECK_EQUAL(etl::chrono::January, ymd1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)ymd1.month());
CHECK_EQUAL(etl::chrono::day(1), ymd1.day()); CHECK_EQUAL((unsigned)etl::chrono::day(1), (unsigned)ymd1.day());
CHECK_EQUAL(etl::chrono::year(2001), ymd2.year()); CHECK_EQUAL((int)etl::chrono::year(2001), (int)ymd2.year());
CHECK_EQUAL(etl::chrono::February, ymd2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)ymd2.month());
CHECK_EQUAL(etl::chrono::day(2), ymd2.day()); CHECK_EQUAL((unsigned)etl::chrono::day(2), (unsigned)ymd2.day());
CHECK_EQUAL(etl::chrono::year(2002), ymd3.year()); CHECK_EQUAL((int)etl::chrono::year(2002), (int)ymd3.year());
CHECK_EQUAL(etl::chrono::March, ymd3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)ymd3.month());
CHECK_EQUAL(etl::chrono::day(3), ymd3.day()); CHECK_EQUAL((unsigned)etl::chrono::day(3), (unsigned)ymd3.day());
CHECK_EQUAL(etl::chrono::year(2003), ymd4.year()); CHECK_EQUAL((int)etl::chrono::year(2003), (int)ymd4.year());
CHECK_EQUAL(etl::chrono::April, ymd4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)ymd4.month());
CHECK_EQUAL(etl::chrono::day(4), ymd4.day()); CHECK_EQUAL((unsigned)etl::chrono::day(4), (unsigned)ymd4.day());
CHECK_EQUAL(etl::chrono::year(2004), ymd5.year()); CHECK_EQUAL((int)etl::chrono::year(2004), (int)ymd5.year());
CHECK_EQUAL(etl::chrono::May, ymd5.month()); CHECK_EQUAL((unsigned)etl::chrono::May, (unsigned)ymd5.month());
CHECK_EQUAL(etl::chrono::day(5), ymd5.day()); CHECK_EQUAL((unsigned)etl::chrono::day(5), (unsigned)ymd5.day());
CHECK_EQUAL(etl::chrono::year(2005), ymd6.year()); CHECK_EQUAL((int)etl::chrono::year(2005), (int)ymd6.year());
CHECK_EQUAL(etl::chrono::June, ymd6.month()); CHECK_EQUAL((unsigned)etl::chrono::June, (unsigned)ymd6.month());
CHECK_EQUAL(etl::chrono::day(6), ymd6.day()); CHECK_EQUAL((unsigned)etl::chrono::day(6), (unsigned)ymd6.day());
} }
//************************************************************************* //*************************************************************************
@ -191,25 +191,25 @@ namespace
etl::chrono::year_month_day_last ymdl4 = etl::chrono::month_day_last(etl::chrono::April) / etl::chrono::year(2003); etl::chrono::year_month_day_last ymdl4 = etl::chrono::month_day_last(etl::chrono::April) / etl::chrono::year(2003);
etl::chrono::year_month_day_last ymdl5 = etl::chrono::month_day_last(etl::chrono::May) / 2004; etl::chrono::year_month_day_last ymdl5 = etl::chrono::month_day_last(etl::chrono::May) / 2004;
CHECK_EQUAL(etl::chrono::year(2000), ymdl1.year()); CHECK_EQUAL((int)etl::chrono::year(2000), (int)ymdl1.year());
CHECK_EQUAL(etl::chrono::January, ymdl1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)ymdl1.month());
CHECK_EQUAL(etl::chrono::month_day_last(etl::chrono::January).month(), ymdl1.month_day_last().month()); CHECK_EQUAL((unsigned)etl::chrono::month_day_last(etl::chrono::January).month(), (unsigned)ymdl1.month_day_last().month());
CHECK_EQUAL(etl::chrono::year(2001), ymdl2.year()); CHECK_EQUAL((int)etl::chrono::year(2001), (int)ymdl2.year());
CHECK_EQUAL(etl::chrono::February, ymdl2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)ymdl2.month());
CHECK_EQUAL(etl::chrono::month_day_last(etl::chrono::February).month(), ymdl2.month_day_last().month()); CHECK_EQUAL((unsigned)etl::chrono::month_day_last(etl::chrono::February).month(), (unsigned)ymdl2.month_day_last().month());
CHECK_EQUAL(etl::chrono::year(2002), ymdl3.year()); CHECK_EQUAL((int)etl::chrono::year(2002), (int)ymdl3.year());
CHECK_EQUAL(etl::chrono::March, ymdl3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)ymdl3.month());
CHECK_EQUAL(etl::chrono::month_day_last(etl::chrono::March).month(), ymdl3.month_day_last().month()); CHECK_EQUAL((unsigned)etl::chrono::month_day_last(etl::chrono::March).month(), (unsigned)ymdl3.month_day_last().month());
CHECK_EQUAL(etl::chrono::year(2003), ymdl4.year()); CHECK_EQUAL((int)etl::chrono::year(2003), (int)ymdl4.year());
CHECK_EQUAL(etl::chrono::April, ymdl4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)ymdl4.month());
CHECK_EQUAL(etl::chrono::month_day_last(etl::chrono::April).month(), ymdl4.month_day_last().month()); CHECK_EQUAL((unsigned)etl::chrono::month_day_last(etl::chrono::April).month(), (unsigned)ymdl4.month_day_last().month());
CHECK_EQUAL(etl::chrono::year(2004), ymdl5.year()); CHECK_EQUAL((int)etl::chrono::year(2004), (int)ymdl5.year());
CHECK_EQUAL(etl::chrono::May, ymdl5.month()); CHECK_EQUAL((unsigned)etl::chrono::May, (unsigned)ymdl5.month());
CHECK_EQUAL(etl::chrono::month_day_last(etl::chrono::May).month(), ymdl5.month_day_last().month()); CHECK_EQUAL((unsigned)etl::chrono::month_day_last(etl::chrono::May).month(), (unsigned)ymdl5.month_day_last().month());
} }
//************************************************************************* //*************************************************************************
@ -221,32 +221,32 @@ namespace
etl::chrono::year_month_weekday ymwd4 = etl::chrono::month_weekday(etl::chrono::April, etl::chrono::weekday_indexed(etl::chrono::Thursday, 3)) / etl::chrono::year(2003); etl::chrono::year_month_weekday ymwd4 = etl::chrono::month_weekday(etl::chrono::April, etl::chrono::weekday_indexed(etl::chrono::Thursday, 3)) / etl::chrono::year(2003);
etl::chrono::year_month_weekday ymwd5 = etl::chrono::month_weekday(etl::chrono::May, etl::chrono::weekday_indexed(etl::chrono::Friday, 4)) / 2004; etl::chrono::year_month_weekday ymwd5 = etl::chrono::month_weekday(etl::chrono::May, etl::chrono::weekday_indexed(etl::chrono::Friday, 4)) / 2004;
CHECK_EQUAL(etl::chrono::year(2000), ymwd1.year()); CHECK_EQUAL((int)etl::chrono::year(2000), (int)ymwd1.year());
CHECK_EQUAL(etl::chrono::January, ymwd1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)ymwd1.month());
CHECK_EQUAL(etl::chrono::Monday.c_encoding(), ymwd1.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Monday.c_encoding(), ymwd1.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::Monday.c_encoding(), ymwd1.weekday_indexed().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Monday.c_encoding(), ymwd1.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(0, ymwd1.weekday_indexed().index()); CHECK_EQUAL(0, ymwd1.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::year(2001), ymwd2.year()); CHECK_EQUAL((int)etl::chrono::year(2001), (int)ymwd2.year());
CHECK_EQUAL(etl::chrono::February, ymwd2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)ymwd2.month());
CHECK_EQUAL(etl::chrono::Tuesday.c_encoding(), ymwd2.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Tuesday.c_encoding(), ymwd2.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::Tuesday.c_encoding(), ymwd2.weekday_indexed().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Tuesday.c_encoding(), ymwd2.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(1, ymwd2.weekday_indexed().index()); CHECK_EQUAL(1, ymwd2.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::year(2002), ymwd3.year()); CHECK_EQUAL((int)etl::chrono::year(2002), (int)ymwd3.year());
CHECK_EQUAL(etl::chrono::March, ymwd3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)ymwd3.month());
CHECK_EQUAL(etl::chrono::Wednesday.c_encoding(), ymwd3.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Wednesday.c_encoding(), ymwd3.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::Wednesday.c_encoding(), ymwd3.weekday_indexed().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Wednesday.c_encoding(), ymwd3.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(2, ymwd3.weekday_indexed().index()); CHECK_EQUAL(2, ymwd3.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::year(2003), ymwd4.year()); CHECK_EQUAL((int)etl::chrono::year(2003), (int)ymwd4.year());
CHECK_EQUAL(etl::chrono::April, ymwd4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)ymwd4.month());
CHECK_EQUAL(etl::chrono::Thursday.c_encoding(), ymwd4.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Thursday.c_encoding(), ymwd4.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::Thursday.c_encoding(), ymwd4.weekday_indexed().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Thursday.c_encoding(), ymwd4.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(3, ymwd4.weekday_indexed().index()); CHECK_EQUAL(3, ymwd4.weekday_indexed().index());
CHECK_EQUAL(etl::chrono::year(2004), ymwd5.year()); CHECK_EQUAL((int)etl::chrono::year(2004), (int)ymwd5.year());
CHECK_EQUAL(etl::chrono::May, ymwd5.month()); CHECK_EQUAL((unsigned)etl::chrono::May, (unsigned)ymwd5.month());
CHECK_EQUAL(etl::chrono::Friday.c_encoding(), ymwd5.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Friday.c_encoding(), ymwd5.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::Friday.c_encoding(), ymwd5.weekday_indexed().weekday().c_encoding()); CHECK_EQUAL(etl::chrono::Friday.c_encoding(), ymwd5.weekday_indexed().weekday().c_encoding());
CHECK_EQUAL(4, ymwd5.weekday_indexed().index()); CHECK_EQUAL(4, ymwd5.weekday_indexed().index());
@ -261,24 +261,24 @@ namespace
etl::chrono::year_month_weekday_last ymdl4 = etl::chrono::month_weekday_last(etl::chrono::April, etl::chrono::weekday_last(etl::chrono::Thursday)) / etl::chrono::year(2003); etl::chrono::year_month_weekday_last ymdl4 = etl::chrono::month_weekday_last(etl::chrono::April, etl::chrono::weekday_last(etl::chrono::Thursday)) / etl::chrono::year(2003);
etl::chrono::year_month_weekday_last ymdl5 = etl::chrono::month_weekday_last(etl::chrono::May, etl::chrono::weekday_last(etl::chrono::Friday))/ 2004; etl::chrono::year_month_weekday_last ymdl5 = etl::chrono::month_weekday_last(etl::chrono::May, etl::chrono::weekday_last(etl::chrono::Friday))/ 2004;
CHECK_EQUAL(etl::chrono::year(2000), ymdl1.year()); CHECK_EQUAL((int)etl::chrono::year(2000), (int)ymdl1.year());
CHECK_EQUAL(etl::chrono::January, ymdl1.month()); CHECK_EQUAL((unsigned)etl::chrono::January, (unsigned)ymdl1.month());
CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Monday).weekday().c_encoding(), ymdl1.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Monday).weekday().c_encoding(), ymdl1.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::year(2001), ymdl2.year()); CHECK_EQUAL((int)etl::chrono::year(2001), (int)ymdl2.year());
CHECK_EQUAL(etl::chrono::February, ymdl2.month()); CHECK_EQUAL((unsigned)etl::chrono::February, (unsigned)ymdl2.month());
CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Tuesday).weekday().c_encoding(), ymdl2.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Tuesday).weekday().c_encoding(), ymdl2.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::year(2002), ymdl3.year()); CHECK_EQUAL((int)etl::chrono::year(2002), (int)ymdl3.year());
CHECK_EQUAL(etl::chrono::March, ymdl3.month()); CHECK_EQUAL((unsigned)etl::chrono::March, (unsigned)ymdl3.month());
CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Wednesday).weekday().c_encoding(), ymdl3.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Wednesday).weekday().c_encoding(), ymdl3.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::year(2003), ymdl4.year()); CHECK_EQUAL((int)etl::chrono::year(2003), (int)ymdl4.year());
CHECK_EQUAL(etl::chrono::April, ymdl4.month()); CHECK_EQUAL((unsigned)etl::chrono::April, (unsigned)ymdl4.month());
CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Thursday).weekday().c_encoding(), ymdl4.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Thursday).weekday().c_encoding(), ymdl4.weekday().c_encoding());
CHECK_EQUAL(etl::chrono::year(2004), ymdl5.year()); CHECK_EQUAL((int)etl::chrono::year(2004), (int)ymdl5.year());
CHECK_EQUAL(etl::chrono::May, ymdl5.month()); CHECK_EQUAL((unsigned)etl::chrono::May, (unsigned)ymdl5.month());
CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Friday).weekday().c_encoding(), ymdl5.weekday().c_encoding()); CHECK_EQUAL(etl::chrono::weekday_last(etl::chrono::Friday).weekday().c_encoding(), ymdl5.weekday().c_encoding());
} }
} }

View File

@ -87,8 +87,8 @@ namespace
etl::chrono::year this_year = ++year; etl::chrono::year this_year = ++year;
CHECK_TRUE(year.ok()); CHECK_TRUE(year.ok());
CHECK_EQUAL(count, year); CHECK_EQUAL(count, static_cast<int>(year));
CHECK_EQUAL(this_year, year); CHECK_EQUAL((int)this_year, (int)year);
} }
} }

View File

@ -71,7 +71,7 @@ namespace
CHECK_TRUE(ymd.ok()); // Valid year_month_day CHECK_TRUE(ymd.ok()); // Valid year_month_day
CHECK_EQUAL(2000, (int)ymd.year()); CHECK_EQUAL(2000, (int)ymd.year());
CHECK_EQUAL((unsigned)Chrono::January, (unsigned)ymd.month()); CHECK_EQUAL((unsigned)Chrono::January, (unsigned)ymd.month());
CHECK_EQUAL(Chrono::day(1), ymd.day()); CHECK_EQUAL((unsigned)Chrono::day(1), (unsigned)ymd.day());
} }
//************************************************************************* //*************************************************************************

View File

@ -11479,6 +11479,7 @@
<None Include="..\..\.github\workflows\platformio-update.yml" /> <None Include="..\..\.github\workflows\platformio-update.yml" />
<None Include="..\..\.gitignore" /> <None Include="..\..\.gitignore" />
<None Include="..\..\.gitmodules" /> <None Include="..\..\.gitmodules" />
<None Include="..\..\.git\config" />
<None Include="..\..\appveyor.yml" /> <None Include="..\..\appveyor.yml" />
<None Include="..\..\arduino\library-arduino.json" /> <None Include="..\..\arduino\library-arduino.json" />
<None Include="..\..\arduino\library-arduino.properties" /> <None Include="..\..\arduino\library-arduino.properties" />

View File

@ -3949,6 +3949,9 @@
<None Include="..\..\.github\workflows\gcc-c++23.yml"> <None Include="..\..\.github\workflows\gcc-c++23.yml">
<Filter>Resource Files\CI\Github</Filter> <Filter>Resource Files\CI\Github</Filter>
</None> </None>
<None Include="..\..\.git\config">
<Filter>Resource Files\Git</Filter>
</None>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Text Include="..\..\support\Release notes.txt"> <Text Include="..\..\support\Release notes.txt">