- commit
- 3554fa955345c9c200a308bd7932322be657d92f
- parent
- e29617e655ac1274b1d396884c4f0c3ef3bc29b9
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2018-11-20 16:38
c: refine test output
Diffstat
| M | test.c | 285 | +++++++++++++++++++++++++++++++------------------------------ |
1 files changed, 145 insertions, 140 deletions
diff --git a/test.c b/test.c
@@ -1,78 +1,80 @@ 1 1 #define test 2 2 #include "calendar.c" 3 34 -1 #define run_test(test) do { char *message = test(); tests_run++; if (message) { tests_failed++; printf("Failed: %s\n", message); } } while (0)-1 4 #define mu_unit(msg) do { printf("%s\n", msg); } while (0) -1 5 #define mu_test(msg, fn) do { printf(" %s\n", msg); char *result = fn(); tests_run++; if (result) { tests_failed++; printf(" X %s\n", result); } } while (0) -1 6 #define mu_assert(msg, test) do { if (!(test)) return msg; } while (0) 5 7 6 8 int tests_run = 0; 7 9 int tests_failed = 0; 8 10 9 11 static char *test_easter() {10 -1 if (!date_comp(easter(2000, false), mkdate(2000, 4, 23))) return "easter 2000";11 -1 if (!date_comp(easter(2001, false), mkdate(2001, 4, 15))) return "easter 2001";12 -1 if (!date_comp(easter(2002, false), mkdate(2002, 3, 31))) return "easter 2002";13 -1 if (!date_comp(easter(2003, false), mkdate(2003, 4, 20))) return "easter 2003";14 -1 if (!date_comp(easter(2004, false), mkdate(2004, 4, 11))) return "easter 2004";15 -1 if (!date_comp(easter(2005, false), mkdate(2005, 3, 27))) return "easter 2005";16 -1 if (!date_comp(easter(2006, false), mkdate(2006, 4, 16))) return "easter 2006";17 -1 if (!date_comp(easter(2007, false), mkdate(2007, 4, 8))) return "easter 2007";18 -1 if (!date_comp(easter(2008, false), mkdate(2008, 3, 23))) return "easter 2008";19 -1 if (!date_comp(easter(2009, false), mkdate(2009, 4, 12))) return "easter 2009";20 -1 if (!date_comp(easter(2010, false), mkdate(2010, 4, 4))) return "easter 2010";21 -1 if (!date_comp(easter(2011, false), mkdate(2011, 4, 24))) return "easter 2011";22 -1 if (!date_comp(easter(2012, false), mkdate(2012, 4, 8))) return "easter 2012";23 -1 if (!date_comp(easter(2013, false), mkdate(2013, 3, 31))) return "easter 2013";24 -1 if (!date_comp(easter(2014, false), mkdate(2014, 4, 20))) return "easter 2014";25 -1 if (!date_comp(easter(2015, false), mkdate(2015, 4, 5))) return "easter 2015";26 -1 if (!date_comp(easter(2016, false), mkdate(2016, 3, 27))) return "easter 2016";27 -1 if (!date_comp(easter(2017, false), mkdate(2017, 4, 16))) return "easter 2017";28 -1 if (!date_comp(easter(2018, false), mkdate(2018, 4, 1))) return "easter 2018";29 -1 if (!date_comp(easter(2019, false), mkdate(2019, 4, 21))) return "easter 2019";30 -1 if (!date_comp(easter(2020, false), mkdate(2020, 4, 12))) return "easter 2020";31 -1 if (!date_comp(easter(2021, false), mkdate(2021, 4, 4))) return "easter 2021";32 -1 if (!date_comp(easter(2022, false), mkdate(2022, 4, 17))) return "easter 2022";33 -1 if (!date_comp(easter(2023, false), mkdate(2023, 4, 9))) return "easter 2023";34 -1 if (!date_comp(easter(2024, false), mkdate(2024, 3, 31))) return "easter 2024";35 -1 if (!date_comp(easter(2025, false), mkdate(2025, 4, 20))) return "easter 2025";36 -1 if (!date_comp(easter(2026, false), mkdate(2026, 4, 5))) return "easter 2026";37 -1 if (!date_comp(easter(2027, false), mkdate(2027, 3, 28))) return "easter 2027";38 -1 if (!date_comp(easter(2028, false), mkdate(2028, 4, 16))) return "easter 2028";39 -1 if (!date_comp(easter(2029, false), mkdate(2029, 4, 1))) return "easter 2029";40 -1 if (!date_comp(easter(2030, false), mkdate(2030, 4, 21))) return "easter 2030";-1 12 mu_assert("2000", date_comp(easter(2000, false), mkdate(2000, 4, 23))); -1 13 mu_assert("2001", date_comp(easter(2001, false), mkdate(2001, 4, 15))); -1 14 mu_assert("2002", date_comp(easter(2002, false), mkdate(2002, 3, 31))); -1 15 mu_assert("2003", date_comp(easter(2003, false), mkdate(2003, 4, 20))); -1 16 mu_assert("2004", date_comp(easter(2004, false), mkdate(2004, 4, 11))); -1 17 mu_assert("2005", date_comp(easter(2005, false), mkdate(2005, 3, 27))); -1 18 mu_assert("2006", date_comp(easter(2006, false), mkdate(2006, 4, 16))); -1 19 mu_assert("2007", date_comp(easter(2007, false), mkdate(2007, 4, 8))); -1 20 mu_assert("2008", date_comp(easter(2008, false), mkdate(2008, 3, 23))); -1 21 mu_assert("2009", date_comp(easter(2009, false), mkdate(2009, 4, 12))); -1 22 mu_assert("2010", date_comp(easter(2010, false), mkdate(2010, 4, 4))); -1 23 mu_assert("2011", date_comp(easter(2011, false), mkdate(2011, 4, 24))); -1 24 mu_assert("2012", date_comp(easter(2012, false), mkdate(2012, 4, 8))); -1 25 mu_assert("2013", date_comp(easter(2013, false), mkdate(2013, 3, 31))); -1 26 mu_assert("2014", date_comp(easter(2014, false), mkdate(2014, 4, 20))); -1 27 mu_assert("2015", date_comp(easter(2015, false), mkdate(2015, 4, 5))); -1 28 mu_assert("2016", date_comp(easter(2016, false), mkdate(2016, 3, 27))); -1 29 mu_assert("2017", date_comp(easter(2017, false), mkdate(2017, 4, 16))); -1 30 mu_assert("2018", date_comp(easter(2018, false), mkdate(2018, 4, 1))); -1 31 mu_assert("2019", date_comp(easter(2019, false), mkdate(2019, 4, 21))); -1 32 mu_assert("2020", date_comp(easter(2020, false), mkdate(2020, 4, 12))); -1 33 mu_assert("2021", date_comp(easter(2021, false), mkdate(2021, 4, 4))); -1 34 mu_assert("2022", date_comp(easter(2022, false), mkdate(2022, 4, 17))); -1 35 mu_assert("2023", date_comp(easter(2023, false), mkdate(2023, 4, 9))); -1 36 mu_assert("2024", date_comp(easter(2024, false), mkdate(2024, 3, 31))); -1 37 mu_assert("2025", date_comp(easter(2025, false), mkdate(2025, 4, 20))); -1 38 mu_assert("2026", date_comp(easter(2026, false), mkdate(2026, 4, 5))); -1 39 mu_assert("2027", date_comp(easter(2027, false), mkdate(2027, 3, 28))); -1 40 mu_assert("2028", date_comp(easter(2028, false), mkdate(2028, 4, 16))); -1 41 mu_assert("2029", date_comp(easter(2029, false), mkdate(2029, 4, 1))); -1 42 mu_assert("2030", date_comp(easter(2030, false), mkdate(2030, 4, 21))); 41 43 return 0; 42 44 } 43 45 44 46 static char *test_paskha() {45 -1 if (!date_comp(easter(2000, true), mkdate(2000, 4, 30))) return "paskha 2000";46 -1 if (!date_comp(easter(2001, true), mkdate(2001, 4, 15))) return "paskha 2001";47 -1 if (!date_comp(easter(2002, true), mkdate(2002, 5, 5))) return "paskha 2002";48 -1 if (!date_comp(easter(2003, true), mkdate(2003, 4, 27))) return "paskha 2003";49 -1 if (!date_comp(easter(2004, true), mkdate(2004, 4, 11))) return "paskha 2004";50 -1 if (!date_comp(easter(2005, true), mkdate(2005, 5, 1))) return "paskha 2005";51 -1 if (!date_comp(easter(2006, true), mkdate(2006, 4, 23))) return "paskha 2006";52 -1 if (!date_comp(easter(2007, true), mkdate(2007, 4, 8))) return "paskha 2007";53 -1 if (!date_comp(easter(2008, true), mkdate(2008, 4, 27))) return "paskha 2008";54 -1 if (!date_comp(easter(2009, true), mkdate(2009, 4, 19))) return "paskha 2009";55 -1 if (!date_comp(easter(2010, true), mkdate(2010, 4, 4))) return "paskha 2010";56 -1 if (!date_comp(easter(2011, true), mkdate(2011, 4, 24))) return "paskha 2011";57 -1 if (!date_comp(easter(2012, true), mkdate(2012, 4, 15))) return "paskha 2012";58 -1 if (!date_comp(easter(2013, true), mkdate(2013, 5, 5))) return "paskha 2013";59 -1 if (!date_comp(easter(2014, true), mkdate(2014, 4, 20))) return "paskha 2014";60 -1 if (!date_comp(easter(2015, true), mkdate(2015, 4, 12))) return "paskha 2015";61 -1 if (!date_comp(easter(2016, true), mkdate(2016, 5, 1))) return "paskha 2016";62 -1 if (!date_comp(easter(2017, true), mkdate(2017, 4, 16))) return "paskha 2017";63 -1 if (!date_comp(easter(2018, true), mkdate(2018, 4, 8))) return "paskha 2018";64 -1 if (!date_comp(easter(2019, true), mkdate(2019, 4, 28))) return "paskha 2019";65 -1 if (!date_comp(easter(2020, true), mkdate(2020, 4, 19))) return "paskha 2020";66 -1 if (!date_comp(easter(2021, true), mkdate(2021, 5, 2))) return "paskha 2021";67 -1 if (!date_comp(easter(2022, true), mkdate(2022, 4, 24))) return "paskha 2022";68 -1 if (!date_comp(easter(2023, true), mkdate(2023, 4, 16))) return "paskha 2023";69 -1 if (!date_comp(easter(2024, true), mkdate(2024, 5, 5))) return "paskha 2024";70 -1 if (!date_comp(easter(2025, true), mkdate(2025, 4, 20))) return "paskha 2025";71 -1 if (!date_comp(easter(2026, true), mkdate(2026, 4, 12))) return "paskha 2026";72 -1 if (!date_comp(easter(2027, true), mkdate(2027, 5, 2))) return "paskha 2027";73 -1 if (!date_comp(easter(2028, true), mkdate(2028, 4, 16))) return "paskha 2028";74 -1 if (!date_comp(easter(2029, true), mkdate(2029, 4, 8))) return "paskha 2029";75 -1 if (!date_comp(easter(2030, true), mkdate(2030, 4, 28))) return "paskha 2030";-1 47 mu_assert("2000", date_comp(easter(2000, true), mkdate(2000, 4, 30))); -1 48 mu_assert("2001", date_comp(easter(2001, true), mkdate(2001, 4, 15))); -1 49 mu_assert("2002", date_comp(easter(2002, true), mkdate(2002, 5, 5))); -1 50 mu_assert("2003", date_comp(easter(2003, true), mkdate(2003, 4, 27))); -1 51 mu_assert("2004", date_comp(easter(2004, true), mkdate(2004, 4, 11))); -1 52 mu_assert("2005", date_comp(easter(2005, true), mkdate(2005, 5, 1))); -1 53 mu_assert("2006", date_comp(easter(2006, true), mkdate(2006, 4, 23))); -1 54 mu_assert("2007", date_comp(easter(2007, true), mkdate(2007, 4, 8))); -1 55 mu_assert("2008", date_comp(easter(2008, true), mkdate(2008, 4, 27))); -1 56 mu_assert("2009", date_comp(easter(2009, true), mkdate(2009, 4, 19))); -1 57 mu_assert("2010", date_comp(easter(2010, true), mkdate(2010, 4, 4))); -1 58 mu_assert("2011", date_comp(easter(2011, true), mkdate(2011, 4, 24))); -1 59 mu_assert("2012", date_comp(easter(2012, true), mkdate(2012, 4, 15))); -1 60 mu_assert("2013", date_comp(easter(2013, true), mkdate(2013, 5, 5))); -1 61 mu_assert("2014", date_comp(easter(2014, true), mkdate(2014, 4, 20))); -1 62 mu_assert("2015", date_comp(easter(2015, true), mkdate(2015, 4, 12))); -1 63 mu_assert("2016", date_comp(easter(2016, true), mkdate(2016, 5, 1))); -1 64 mu_assert("2017", date_comp(easter(2017, true), mkdate(2017, 4, 16))); -1 65 mu_assert("2018", date_comp(easter(2018, true), mkdate(2018, 4, 8))); -1 66 mu_assert("2019", date_comp(easter(2019, true), mkdate(2019, 4, 28))); -1 67 mu_assert("2020", date_comp(easter(2020, true), mkdate(2020, 4, 19))); -1 68 mu_assert("2021", date_comp(easter(2021, true), mkdate(2021, 5, 2))); -1 69 mu_assert("2022", date_comp(easter(2022, true), mkdate(2022, 4, 24))); -1 70 mu_assert("2023", date_comp(easter(2023, true), mkdate(2023, 4, 16))); -1 71 mu_assert("2024", date_comp(easter(2024, true), mkdate(2024, 5, 5))); -1 72 mu_assert("2025", date_comp(easter(2025, true), mkdate(2025, 4, 20))); -1 73 mu_assert("2026", date_comp(easter(2026, true), mkdate(2026, 4, 12))); -1 74 mu_assert("2027", date_comp(easter(2027, true), mkdate(2027, 5, 2))); -1 75 mu_assert("2028", date_comp(easter(2028, true), mkdate(2028, 4, 16))); -1 76 mu_assert("2029", date_comp(easter(2029, true), mkdate(2029, 4, 8))); -1 77 mu_assert("2030", date_comp(easter(2030, true), mkdate(2030, 4, 28))); 76 78 return 0; 77 79 } 78 80 @@ -102,7 +104,7 @@ char *test_parse_date_dd() { 102 104 expected.year = today()->tm_year + 1900; 103 105 expected.day = 13; 104 106105 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"13\")";-1 107 mu_assert("13", tpl_comp(actual, expected)); 106 108 return 0; 107 109 } 108 110 @@ -111,7 +113,7 @@ char *test_parse_date_dd_star() { 111 113 struct tpl expected = mktpl(); 112 114 expected.day = 13; 113 115114 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"13*\")";-1 116 mu_assert("13*)", tpl_comp(actual, expected)); 115 117 return 0; 116 118 } 117 119 @@ -122,7 +124,7 @@ char *test_parse_date_mmdd() { 122 124 expected.month = 2; 123 125 expected.day = 13; 124 126125 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"02/13\")";-1 127 mu_assert("02/13", tpl_comp(actual, expected)); 126 128 return 0; 127 129 } 128 130 @@ -132,7 +134,7 @@ char *test_parse_date_mmdd_star() { 132 134 expected.month = 2; 133 135 expected.day = 13; 134 136135 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"02/13*\")";-1 137 mu_assert("02/13", tpl_comp(actual, expected)); 136 138 return 0; 137 139 } 138 140 @@ -143,7 +145,7 @@ char *test_parse_date_yyyymmdd() { 143 145 expected.month = 2; 144 146 expected.day = 13; 145 147146 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"1999/02/13\")";-1 148 mu_assert("1999/02/13", tpl_comp(actual, expected)); 147 149 return 0; 148 150 } 149 151 @@ -153,7 +155,7 @@ char *test_parse_date_yyyymmdd_star() { 153 155 expected.month = 2; 154 156 expected.day = 13; 155 157156 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"1999/02/13*\")";-1 158 mu_assert("1999/02/13*", tpl_comp(actual, expected)); 157 159 return 0; 158 160 } 159 161 @@ -165,7 +167,7 @@ char *test_parse_date_yyyymmdd_repeat() { 165 167 expected.day = 13; 166 168 expected.repeat = 2; 167 169168 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"1999/02/13+2\")";-1 170 mu_assert("1999/02/13+2", tpl_comp(actual, expected)); 169 171 return 0; 170 172 } 171 173 @@ -174,7 +176,7 @@ char *test_parse_date_weekday() { 174 176 struct tpl expected = mktpl(); 175 177 expected.weekday = 7; 176 178177 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"Sat\")";-1 179 mu_assert("Sat", tpl_comp(actual, expected)); 178 180 return 0; 179 181 } 180 182 @@ -184,7 +186,7 @@ char *test_parse_date_weekday_with_nth_of_month() { 184 186 expected.weekday = 7; 185 187 expected.nth_of_month = -1; 186 188187 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"Sat-1\")";-1 189 mu_assert("Sat-1", tpl_comp(actual, expected)); 188 190 return 0; 189 191 } 190 192 @@ -195,7 +197,7 @@ char *test_parse_date_mm_weekday() { 195 197 expected.weekday = 7; 196 198 expected.nth_of_month = 2; 197 199198 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"02/Sat+2\")";-1 200 mu_assert("02/Sat+2", tpl_comp(actual, expected)); 199 201 return 0; 200 202 } 201 203 @@ -207,7 +209,7 @@ char *test_parse_date_yyyymm_weekday() { 207 209 expected.weekday = 7; 208 210 expected.nth_of_month = 2; 209 211210 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"1999/02/Sat+2\")";-1 212 mu_assert("1999/02/Sat+2", tpl_comp(actual, expected)); 211 213 return 0; 212 214 } 213 215 @@ -216,7 +218,7 @@ char *test_parse_date_easter() { 216 218 struct tpl expected = mktpl(); 217 219 expected.from_easter = 0; 218 220219 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"Easter\")";-1 221 mu_assert("Easter", tpl_comp(actual, expected)); 220 222 return 0; 221 223 } 222 224 @@ -225,7 +227,7 @@ char *test_parse_date_easter_with_offset() { 225 227 struct tpl expected = mktpl(); 226 228 expected.from_easter = 30; 227 229228 -1 if (!tpl_comp(actual, expected)) return "parse_date_mut(\"Easter+30\")";-1 230 mu_assert("Easter+30", tpl_comp(actual, expected)); 229 231 return 0; 230 232 } 231 233 @@ -233,8 +235,8 @@ char *test_is_match_dd() { 233 235 struct tpl tpl = mktpl(); 234 236 tpl.day = 13; 235 237236 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match dd";237 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match dd";-1 238 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 239 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); 238 240 return 0; 239 241 } 240 242 @@ -243,9 +245,9 @@ char *test_is_match_mmdd() { 243 245 tpl.month = 2; 244 246 tpl.day = 13; 245 247246 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match mmdd";247 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match mmdd";248 -1 if (is_match(tpl, mkdate(1999, 3, 13))) return "!is_match mmdd";-1 248 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 249 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); -1 250 mu_assert("next month does not match", !is_match(tpl, mkdate(1999, 3, 13))); 249 251 return 0; 250 252 } 251 253 @@ -255,10 +257,10 @@ char *test_is_match_yyyymmdd() { 255 257 tpl.month = 2; 256 258 tpl.day = 13; 257 259258 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match yyyymmdd";259 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match yyyymmdd";260 -1 if (is_match(tpl, mkdate(1999, 3, 13))) return "!is_match yyyymmdd";261 -1 if (is_match(tpl, mkdate(2000, 2, 13))) return "!is_match yyyymmdd";-1 260 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 261 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); -1 262 mu_assert("next month does not match", !is_match(tpl, mkdate(1999, 3, 13))); -1 263 mu_assert("next year does not match", !is_match(tpl, mkdate(2000, 2, 13))); 262 264 return 0; 263 265 } 264 266 @@ -269,10 +271,10 @@ char *test_is_match_yyyymmdd_repeat() { 269 271 tpl.day = 13; 270 272 tpl.repeat = 2; 271 273272 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match yyyymmdd repeat";273 -1 if (!is_match(tpl, mkdate(1999, 2, 27))) return "is_match yyyymmdd repeat";274 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match yyyymmdd repeat";275 -1 if (is_match(tpl, mkdate(1999, 2, 20))) return "!is_match yyyymmdd repeat";-1 274 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 275 mu_assert("two weeks later does match", is_match(tpl, mkdate(1999, 2, 27))); -1 276 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); -1 277 mu_assert("one week later does not match", !is_match(tpl, mkdate(1999, 2, 20))); 276 278 return 0; 277 279 } 278 280 @@ -280,8 +282,8 @@ char *test_is_match_weekday() { 280 282 struct tpl tpl = mktpl(); 281 283 tpl.weekday = 7; 282 284283 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match weekday";284 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match weekday";-1 285 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 286 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); 285 287 return 0; 286 288 } 287 289 @@ -290,9 +292,9 @@ char *test_is_match_weekday_with_nth_of_month() { 290 292 tpl.weekday = 7; 291 293 tpl.nth_of_month = 2; 292 294293 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match weekday with nth_of_month";294 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match weekday with nth_of_month";295 -1 if (is_match(tpl, mkdate(1999, 2, 20))) return "!is_match weekday with nth_of_month";-1 295 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 296 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); -1 297 mu_assert("one week later does not match", !is_match(tpl, mkdate(1999, 2, 20))); 296 298 return 0; 297 299 } 298 300 @@ -302,10 +304,10 @@ char *test_is_match_mm_weekday() { 302 304 tpl.weekday = 7; 303 305 tpl.nth_of_month = 2; 304 306305 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match mm weekday";306 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match mm weekday";307 -1 if (is_match(tpl, mkdate(1999, 2, 20))) return "!is_match mm weekday";308 -1 if (is_match(tpl, mkdate(1999, 3, 13))) return "!is_match mm weekday";-1 307 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 308 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); -1 309 mu_assert("one week later does not match", !is_match(tpl, mkdate(1999, 2, 20))); -1 310 mu_assert("next month does not match", !is_match(tpl, mkdate(1999, 3, 13))); 309 311 return 0; 310 312 } 311 313 @@ -316,11 +318,11 @@ char *test_is_match_yyyymm_weekday() { 316 318 tpl.weekday = 7; 317 319 tpl.nth_of_month = 2; 318 320319 -1 if (!is_match(tpl, mkdate(1999, 2, 13))) return "is_match yyyymm weekday";320 -1 if (is_match(tpl, mkdate(1999, 2, 14))) return "!is_match yyyymm weekday";321 -1 if (is_match(tpl, mkdate(1999, 2, 20))) return "!is_match yyyymm weekday";322 -1 if (is_match(tpl, mkdate(1999, 3, 13))) return "!is_match yyyymm weekday";323 -1 if (is_match(tpl, mkdate(2000, 2, 12))) return "!is_match yyyymm weekday";-1 321 mu_assert("date does match", is_match(tpl, mkdate(1999, 2, 13))); -1 322 mu_assert("next day does not match", !is_match(tpl, mkdate(1999, 2, 14))); -1 323 mu_assert("one week later does not match", !is_match(tpl, mkdate(1999, 2, 20))); -1 324 mu_assert("next month does not match", !is_match(tpl, mkdate(1999, 3, 13))); -1 325 mu_assert("next year does not match", !is_match(tpl, mkdate(2000, 2, 13))); 324 326 return 0; 325 327 } 326 328 @@ -329,8 +331,8 @@ char *test_is_match_easter() { 329 331 tpl.from_easter = 0; 330 332 tpl.easter = true; 331 333332 -1 if (!is_match(tpl, mkdate(2000, 4, 23))) return "is_match easter";333 -1 if (is_match(tpl, mkdate(2000, 4, 25))) return "!is_match easter";-1 334 mu_assert("date does match", is_match(tpl, mkdate(2000, 4, 23))); -1 335 mu_assert("two days later does not match", !is_match(tpl, mkdate(2000, 4, 25))); 334 336 return 0; 335 337 } 336 338 @@ -339,8 +341,8 @@ char *test_is_match_easter_with_offset() { 339 341 tpl.from_easter = 2; 340 342 tpl.easter = true; 341 343342 -1 if (!is_match(tpl, mkdate(2000, 4, 25))) return "is_match easter+2";343 -1 if (is_match(tpl, mkdate(2000, 4, 23))) return "!is_match easter+2";-1 344 mu_assert("two days later does match", is_match(tpl, mkdate(2000, 4, 25))); -1 345 mu_assert("date does not match2", !is_match(tpl, mkdate(2000, 4, 23))); 344 346 return 0; 345 347 } 346 348 @@ -349,8 +351,8 @@ char *test_is_match_paskha() { 349 351 tpl.from_paskha = 0; 350 352 tpl.paskha = true; 351 353352 -1 if (!is_match(tpl, mkdate(2000, 4, 30))) return "is_match paskha";353 -1 if (is_match(tpl, mkdate(2000, 4, 28))) return "!is_match paskha";-1 354 mu_assert("date does match", is_match(tpl, mkdate(2000, 4, 30))); -1 355 mu_assert("two days earlier does not match", !is_match(tpl, mkdate(2000, 4, 28))); 354 356 return 0; 355 357 } 356 358 @@ -359,41 +361,44 @@ char *test_is_match_paskha_with_offset() { 359 361 tpl.from_paskha = -2; 360 362 tpl.paskha = true; 361 363362 -1 if (!is_match(tpl, mkdate(2000, 4, 28))) return "is_match paskha-2";363 -1 if (is_match(tpl, mkdate(2000, 4, 30))) return "!is_match paskha-2";-1 364 mu_assert("two days earlier does match", is_match(tpl, mkdate(2000, 4, 28))); -1 365 mu_assert("date does not match", !is_match(tpl, mkdate(2000, 4, 30))); 364 366 return 0; 365 367 } 366 368 367 369 int main(int argc, char **argv) {368 -1 run_test(test_easter);369 -1 run_test(test_paskha);370 -1371 -1 run_test(test_parse_date_dd);372 -1 run_test(test_parse_date_dd_star);373 -1 run_test(test_parse_date_mmdd);374 -1 run_test(test_parse_date_mmdd_star);375 -1 run_test(test_parse_date_yyyymmdd);376 -1 run_test(test_parse_date_yyyymmdd_star);377 -1 run_test(test_parse_date_yyyymmdd_repeat);378 -1 run_test(test_parse_date_weekday);379 -1 run_test(test_parse_date_weekday_with_nth_of_month);380 -1 run_test(test_parse_date_mm_weekday);381 -1 run_test(test_parse_date_yyyymm_weekday);382 -1 run_test(test_parse_date_easter);383 -1 run_test(test_parse_date_easter_with_offset);384 -1385 -1 run_test(test_is_match_dd);386 -1 run_test(test_is_match_mmdd);387 -1 run_test(test_is_match_yyyymmdd);388 -1 run_test(test_is_match_yyyymmdd_repeat);389 -1 run_test(test_is_match_weekday);390 -1 run_test(test_is_match_weekday_with_nth_of_month);391 -1 run_test(test_is_match_mm_weekday);392 -1 run_test(test_is_match_yyyymm_weekday);393 -1 run_test(test_is_match_easter);394 -1 run_test(test_is_match_easter_with_offset);395 -1 run_test(test_is_match_paskha);396 -1 run_test(test_is_match_paskha_with_offset);-1 370 mu_unit("easter()"); -1 371 mu_test("returns correct date for easter", test_easter); -1 372 mu_test("returns correct date for paskha", test_paskha); -1 373 -1 374 mu_unit("parse_date()"); -1 375 mu_test("parses dd", test_parse_date_dd); -1 376 mu_test("parses dd*", test_parse_date_dd_star); -1 377 mu_test("parses mm/dd", test_parse_date_mmdd); -1 378 mu_test("parses mm/dd*", test_parse_date_mmdd_star); -1 379 mu_test("parses yyyy/mm/dd", test_parse_date_yyyymmdd); -1 380 mu_test("parses yyyy/mm/dd*", test_parse_date_yyyymmdd_star); -1 381 mu_test("parses yyyy/mm/dd+n", test_parse_date_yyyymmdd_repeat); -1 382 mu_test("parses weekday", test_parse_date_weekday); -1 383 mu_test("parses weekday+n", test_parse_date_weekday_with_nth_of_month); -1 384 mu_test("parses mm/weekday", test_parse_date_mm_weekday); -1 385 mu_test("parses yyyy/mm/weekday", test_parse_date_yyyymm_weekday); -1 386 mu_test("parses easter", test_parse_date_easter); -1 387 mu_test("parses easter+n", test_parse_date_easter_with_offset); -1 388 -1 389 mu_unit("is_match()"); -1 390 mu_test("matches dd", test_is_match_dd); -1 391 mu_test("matches mm/dd", test_is_match_mmdd); -1 392 mu_test("matches yyyy/mm/dd", test_is_match_yyyymmdd); -1 393 mu_test("matches yyyy/mm/dd+n", test_is_match_yyyymmdd_repeat); -1 394 mu_test("matches wekday", test_is_match_weekday); -1 395 mu_test("matches weekdat+n", test_is_match_weekday_with_nth_of_month); -1 396 mu_test("matches mm/weekday", test_is_match_mm_weekday); -1 397 mu_test("matches yyyy/mm/weekday", test_is_match_yyyymm_weekday); -1 398 mu_test("matches easter", test_is_match_easter); -1 399 mu_test("matches easter+n", test_is_match_easter_with_offset); -1 400 mu_test("matches paskha", test_is_match_paskha); -1 401 mu_test("matches paskha+n", test_is_match_paskha_with_offset); 397 402 398 403 printf("Tests run: %d\n", tests_run); 399 404 if (tests_failed) {