1module Test.Calendar.AddDaysRef where 2 3addDaysRef :: String 4addDaysRef = 5 unlines 6 [ "2005-02-28 + -10 * day = 2005-02-18" 7 , "2004-02-29 + -10 * day = 2004-02-19" 8 , "2004-01-31 + -10 * day = 2004-01-21" 9 , "2004-12-31 + -10 * day = 2004-12-21" 10 , "2005-07-01 + -10 * day = 2005-06-21" 11 , "2005-04-21 + -10 * day = 2005-04-11" 12 , "2005-06-30 + -10 * day = 2005-06-20" 13 , "2005-02-28 + -4 * day = 2005-02-24" 14 , "2004-02-29 + -4 * day = 2004-02-25" 15 , "2004-01-31 + -4 * day = 2004-01-27" 16 , "2004-12-31 + -4 * day = 2004-12-27" 17 , "2005-07-01 + -4 * day = 2005-06-27" 18 , "2005-04-21 + -4 * day = 2005-04-17" 19 , "2005-06-30 + -4 * day = 2005-06-26" 20 , "2005-02-28 + -1 * day = 2005-02-27" 21 , "2004-02-29 + -1 * day = 2004-02-28" 22 , "2004-01-31 + -1 * day = 2004-01-30" 23 , "2004-12-31 + -1 * day = 2004-12-30" 24 , "2005-07-01 + -1 * day = 2005-06-30" 25 , "2005-04-21 + -1 * day = 2005-04-20" 26 , "2005-06-30 + -1 * day = 2005-06-29" 27 , "2005-02-28 + 0 * day = 2005-02-28" 28 , "2004-02-29 + 0 * day = 2004-02-29" 29 , "2004-01-31 + 0 * day = 2004-01-31" 30 , "2004-12-31 + 0 * day = 2004-12-31" 31 , "2005-07-01 + 0 * day = 2005-07-01" 32 , "2005-04-21 + 0 * day = 2005-04-21" 33 , "2005-06-30 + 0 * day = 2005-06-30" 34 , "2005-02-28 + 1 * day = 2005-03-01" 35 , "2004-02-29 + 1 * day = 2004-03-01" 36 , "2004-01-31 + 1 * day = 2004-02-01" 37 , "2004-12-31 + 1 * day = 2005-01-01" 38 , "2005-07-01 + 1 * day = 2005-07-02" 39 , "2005-04-21 + 1 * day = 2005-04-22" 40 , "2005-06-30 + 1 * day = 2005-07-01" 41 , "2005-02-28 + 7 * day = 2005-03-07" 42 , "2004-02-29 + 7 * day = 2004-03-07" 43 , "2004-01-31 + 7 * day = 2004-02-07" 44 , "2004-12-31 + 7 * day = 2005-01-07" 45 , "2005-07-01 + 7 * day = 2005-07-08" 46 , "2005-04-21 + 7 * day = 2005-04-28" 47 , "2005-06-30 + 7 * day = 2005-07-07" 48 , "2005-02-28 + 83 * day = 2005-05-22" 49 , "2004-02-29 + 83 * day = 2004-05-22" 50 , "2004-01-31 + 83 * day = 2004-04-23" 51 , "2004-12-31 + 83 * day = 2005-03-24" 52 , "2005-07-01 + 83 * day = 2005-09-22" 53 , "2005-04-21 + 83 * day = 2005-07-13" 54 , "2005-06-30 + 83 * day = 2005-09-21" 55 , "2005-02-28 + -10 * month (clip) = 2004-04-28" 56 , "2004-02-29 + -10 * month (clip) = 2003-04-29" 57 , "2004-01-31 + -10 * month (clip) = 2003-03-31" 58 , "2004-12-31 + -10 * month (clip) = 2004-02-29" 59 , "2005-07-01 + -10 * month (clip) = 2004-09-01" 60 , "2005-04-21 + -10 * month (clip) = 2004-06-21" 61 , "2005-06-30 + -10 * month (clip) = 2004-08-30" 62 , "2005-02-28 + -4 * month (clip) = 2004-10-28" 63 , "2004-02-29 + -4 * month (clip) = 2003-10-29" 64 , "2004-01-31 + -4 * month (clip) = 2003-09-30" 65 , "2004-12-31 + -4 * month (clip) = 2004-08-31" 66 , "2005-07-01 + -4 * month (clip) = 2005-03-01" 67 , "2005-04-21 + -4 * month (clip) = 2004-12-21" 68 , "2005-06-30 + -4 * month (clip) = 2005-02-28" 69 , "2005-02-28 + -1 * month (clip) = 2005-01-28" 70 , "2004-02-29 + -1 * month (clip) = 2004-01-29" 71 , "2004-01-31 + -1 * month (clip) = 2003-12-31" 72 , "2004-12-31 + -1 * month (clip) = 2004-11-30" 73 , "2005-07-01 + -1 * month (clip) = 2005-06-01" 74 , "2005-04-21 + -1 * month (clip) = 2005-03-21" 75 , "2005-06-30 + -1 * month (clip) = 2005-05-30" 76 , "2005-02-28 + 0 * month (clip) = 2005-02-28" 77 , "2004-02-29 + 0 * month (clip) = 2004-02-29" 78 , "2004-01-31 + 0 * month (clip) = 2004-01-31" 79 , "2004-12-31 + 0 * month (clip) = 2004-12-31" 80 , "2005-07-01 + 0 * month (clip) = 2005-07-01" 81 , "2005-04-21 + 0 * month (clip) = 2005-04-21" 82 , "2005-06-30 + 0 * month (clip) = 2005-06-30" 83 , "2005-02-28 + 1 * month (clip) = 2005-03-28" 84 , "2004-02-29 + 1 * month (clip) = 2004-03-29" 85 , "2004-01-31 + 1 * month (clip) = 2004-02-29" 86 , "2004-12-31 + 1 * month (clip) = 2005-01-31" 87 , "2005-07-01 + 1 * month (clip) = 2005-08-01" 88 , "2005-04-21 + 1 * month (clip) = 2005-05-21" 89 , "2005-06-30 + 1 * month (clip) = 2005-07-30" 90 , "2005-02-28 + 7 * month (clip) = 2005-09-28" 91 , "2004-02-29 + 7 * month (clip) = 2004-09-29" 92 , "2004-01-31 + 7 * month (clip) = 2004-08-31" 93 , "2004-12-31 + 7 * month (clip) = 2005-07-31" 94 , "2005-07-01 + 7 * month (clip) = 2006-02-01" 95 , "2005-04-21 + 7 * month (clip) = 2005-11-21" 96 , "2005-06-30 + 7 * month (clip) = 2006-01-30" 97 , "2005-02-28 + 83 * month (clip) = 2012-01-28" 98 , "2004-02-29 + 83 * month (clip) = 2011-01-29" 99 , "2004-01-31 + 83 * month (clip) = 2010-12-31" 100 , "2004-12-31 + 83 * month (clip) = 2011-11-30" 101 , "2005-07-01 + 83 * month (clip) = 2012-06-01" 102 , "2005-04-21 + 83 * month (clip) = 2012-03-21" 103 , "2005-06-30 + 83 * month (clip) = 2012-05-30" 104 , "2005-02-28 + -10 * month (roll over) = 2004-04-28" 105 , "2004-02-29 + -10 * month (roll over) = 2003-04-29" 106 , "2004-01-31 + -10 * month (roll over) = 2003-03-31" 107 , "2004-12-31 + -10 * month (roll over) = 2004-03-02" 108 , "2005-07-01 + -10 * month (roll over) = 2004-09-01" 109 , "2005-04-21 + -10 * month (roll over) = 2004-06-21" 110 , "2005-06-30 + -10 * month (roll over) = 2004-08-30" 111 , "2005-02-28 + -4 * month (roll over) = 2004-10-28" 112 , "2004-02-29 + -4 * month (roll over) = 2003-10-29" 113 , "2004-01-31 + -4 * month (roll over) = 2003-10-01" 114 , "2004-12-31 + -4 * month (roll over) = 2004-08-31" 115 , "2005-07-01 + -4 * month (roll over) = 2005-03-01" 116 , "2005-04-21 + -4 * month (roll over) = 2004-12-21" 117 , "2005-06-30 + -4 * month (roll over) = 2005-03-02" 118 , "2005-02-28 + -1 * month (roll over) = 2005-01-28" 119 , "2004-02-29 + -1 * month (roll over) = 2004-01-29" 120 , "2004-01-31 + -1 * month (roll over) = 2003-12-31" 121 , "2004-12-31 + -1 * month (roll over) = 2004-12-01" 122 , "2005-07-01 + -1 * month (roll over) = 2005-06-01" 123 , "2005-04-21 + -1 * month (roll over) = 2005-03-21" 124 , "2005-06-30 + -1 * month (roll over) = 2005-05-30" 125 , "2005-02-28 + 0 * month (roll over) = 2005-02-28" 126 , "2004-02-29 + 0 * month (roll over) = 2004-02-29" 127 , "2004-01-31 + 0 * month (roll over) = 2004-01-31" 128 , "2004-12-31 + 0 * month (roll over) = 2004-12-31" 129 , "2005-07-01 + 0 * month (roll over) = 2005-07-01" 130 , "2005-04-21 + 0 * month (roll over) = 2005-04-21" 131 , "2005-06-30 + 0 * month (roll over) = 2005-06-30" 132 , "2005-02-28 + 1 * month (roll over) = 2005-03-28" 133 , "2004-02-29 + 1 * month (roll over) = 2004-03-29" 134 , "2004-01-31 + 1 * month (roll over) = 2004-03-02" 135 , "2004-12-31 + 1 * month (roll over) = 2005-01-31" 136 , "2005-07-01 + 1 * month (roll over) = 2005-08-01" 137 , "2005-04-21 + 1 * month (roll over) = 2005-05-21" 138 , "2005-06-30 + 1 * month (roll over) = 2005-07-30" 139 , "2005-02-28 + 7 * month (roll over) = 2005-09-28" 140 , "2004-02-29 + 7 * month (roll over) = 2004-09-29" 141 , "2004-01-31 + 7 * month (roll over) = 2004-08-31" 142 , "2004-12-31 + 7 * month (roll over) = 2005-07-31" 143 , "2005-07-01 + 7 * month (roll over) = 2006-02-01" 144 , "2005-04-21 + 7 * month (roll over) = 2005-11-21" 145 , "2005-06-30 + 7 * month (roll over) = 2006-01-30" 146 , "2005-02-28 + 83 * month (roll over) = 2012-01-28" 147 , "2004-02-29 + 83 * month (roll over) = 2011-01-29" 148 , "2004-01-31 + 83 * month (roll over) = 2010-12-31" 149 , "2004-12-31 + 83 * month (roll over) = 2011-12-01" 150 , "2005-07-01 + 83 * month (roll over) = 2012-06-01" 151 , "2005-04-21 + 83 * month (roll over) = 2012-03-21" 152 , "2005-06-30 + 83 * month (roll over) = 2012-05-30" 153 , "2005-02-28 + -10 * year (clip) = 1995-02-28" 154 , "2004-02-29 + -10 * year (clip) = 1994-02-28" 155 , "2004-01-31 + -10 * year (clip) = 1994-01-31" 156 , "2004-12-31 + -10 * year (clip) = 1994-12-31" 157 , "2005-07-01 + -10 * year (clip) = 1995-07-01" 158 , "2005-04-21 + -10 * year (clip) = 1995-04-21" 159 , "2005-06-30 + -10 * year (clip) = 1995-06-30" 160 , "2005-02-28 + -4 * year (clip) = 2001-02-28" 161 , "2004-02-29 + -4 * year (clip) = 2000-02-29" 162 , "2004-01-31 + -4 * year (clip) = 2000-01-31" 163 , "2004-12-31 + -4 * year (clip) = 2000-12-31" 164 , "2005-07-01 + -4 * year (clip) = 2001-07-01" 165 , "2005-04-21 + -4 * year (clip) = 2001-04-21" 166 , "2005-06-30 + -4 * year (clip) = 2001-06-30" 167 , "2005-02-28 + -1 * year (clip) = 2004-02-28" 168 , "2004-02-29 + -1 * year (clip) = 2003-02-28" 169 , "2004-01-31 + -1 * year (clip) = 2003-01-31" 170 , "2004-12-31 + -1 * year (clip) = 2003-12-31" 171 , "2005-07-01 + -1 * year (clip) = 2004-07-01" 172 , "2005-04-21 + -1 * year (clip) = 2004-04-21" 173 , "2005-06-30 + -1 * year (clip) = 2004-06-30" 174 , "2005-02-28 + 0 * year (clip) = 2005-02-28" 175 , "2004-02-29 + 0 * year (clip) = 2004-02-29" 176 , "2004-01-31 + 0 * year (clip) = 2004-01-31" 177 , "2004-12-31 + 0 * year (clip) = 2004-12-31" 178 , "2005-07-01 + 0 * year (clip) = 2005-07-01" 179 , "2005-04-21 + 0 * year (clip) = 2005-04-21" 180 , "2005-06-30 + 0 * year (clip) = 2005-06-30" 181 , "2005-02-28 + 1 * year (clip) = 2006-02-28" 182 , "2004-02-29 + 1 * year (clip) = 2005-02-28" 183 , "2004-01-31 + 1 * year (clip) = 2005-01-31" 184 , "2004-12-31 + 1 * year (clip) = 2005-12-31" 185 , "2005-07-01 + 1 * year (clip) = 2006-07-01" 186 , "2005-04-21 + 1 * year (clip) = 2006-04-21" 187 , "2005-06-30 + 1 * year (clip) = 2006-06-30" 188 , "2005-02-28 + 7 * year (clip) = 2012-02-28" 189 , "2004-02-29 + 7 * year (clip) = 2011-02-28" 190 , "2004-01-31 + 7 * year (clip) = 2011-01-31" 191 , "2004-12-31 + 7 * year (clip) = 2011-12-31" 192 , "2005-07-01 + 7 * year (clip) = 2012-07-01" 193 , "2005-04-21 + 7 * year (clip) = 2012-04-21" 194 , "2005-06-30 + 7 * year (clip) = 2012-06-30" 195 , "2005-02-28 + 83 * year (clip) = 2088-02-28" 196 , "2004-02-29 + 83 * year (clip) = 2087-02-28" 197 , "2004-01-31 + 83 * year (clip) = 2087-01-31" 198 , "2004-12-31 + 83 * year (clip) = 2087-12-31" 199 , "2005-07-01 + 83 * year (clip) = 2088-07-01" 200 , "2005-04-21 + 83 * year (clip) = 2088-04-21" 201 , "2005-06-30 + 83 * year (clip) = 2088-06-30" 202 , "2005-02-28 + -10 * year (roll over) = 1995-02-28" 203 , "2004-02-29 + -10 * year (roll over) = 1994-03-01" 204 , "2004-01-31 + -10 * year (roll over) = 1994-01-31" 205 , "2004-12-31 + -10 * year (roll over) = 1994-12-31" 206 , "2005-07-01 + -10 * year (roll over) = 1995-07-01" 207 , "2005-04-21 + -10 * year (roll over) = 1995-04-21" 208 , "2005-06-30 + -10 * year (roll over) = 1995-06-30" 209 , "2005-02-28 + -4 * year (roll over) = 2001-02-28" 210 , "2004-02-29 + -4 * year (roll over) = 2000-02-29" 211 , "2004-01-31 + -4 * year (roll over) = 2000-01-31" 212 , "2004-12-31 + -4 * year (roll over) = 2000-12-31" 213 , "2005-07-01 + -4 * year (roll over) = 2001-07-01" 214 , "2005-04-21 + -4 * year (roll over) = 2001-04-21" 215 , "2005-06-30 + -4 * year (roll over) = 2001-06-30" 216 , "2005-02-28 + -1 * year (roll over) = 2004-02-28" 217 , "2004-02-29 + -1 * year (roll over) = 2003-03-01" 218 , "2004-01-31 + -1 * year (roll over) = 2003-01-31" 219 , "2004-12-31 + -1 * year (roll over) = 2003-12-31" 220 , "2005-07-01 + -1 * year (roll over) = 2004-07-01" 221 , "2005-04-21 + -1 * year (roll over) = 2004-04-21" 222 , "2005-06-30 + -1 * year (roll over) = 2004-06-30" 223 , "2005-02-28 + 0 * year (roll over) = 2005-02-28" 224 , "2004-02-29 + 0 * year (roll over) = 2004-02-29" 225 , "2004-01-31 + 0 * year (roll over) = 2004-01-31" 226 , "2004-12-31 + 0 * year (roll over) = 2004-12-31" 227 , "2005-07-01 + 0 * year (roll over) = 2005-07-01" 228 , "2005-04-21 + 0 * year (roll over) = 2005-04-21" 229 , "2005-06-30 + 0 * year (roll over) = 2005-06-30" 230 , "2005-02-28 + 1 * year (roll over) = 2006-02-28" 231 , "2004-02-29 + 1 * year (roll over) = 2005-03-01" 232 , "2004-01-31 + 1 * year (roll over) = 2005-01-31" 233 , "2004-12-31 + 1 * year (roll over) = 2005-12-31" 234 , "2005-07-01 + 1 * year (roll over) = 2006-07-01" 235 , "2005-04-21 + 1 * year (roll over) = 2006-04-21" 236 , "2005-06-30 + 1 * year (roll over) = 2006-06-30" 237 , "2005-02-28 + 7 * year (roll over) = 2012-02-28" 238 , "2004-02-29 + 7 * year (roll over) = 2011-03-01" 239 , "2004-01-31 + 7 * year (roll over) = 2011-01-31" 240 , "2004-12-31 + 7 * year (roll over) = 2011-12-31" 241 , "2005-07-01 + 7 * year (roll over) = 2012-07-01" 242 , "2005-04-21 + 7 * year (roll over) = 2012-04-21" 243 , "2005-06-30 + 7 * year (roll over) = 2012-06-30" 244 , "2005-02-28 + 83 * year (roll over) = 2088-02-28" 245 , "2004-02-29 + 83 * year (roll over) = 2087-03-01" 246 , "2004-01-31 + 83 * year (roll over) = 2087-01-31" 247 , "2004-12-31 + 83 * year (roll over) = 2087-12-31" 248 , "2005-07-01 + 83 * year (roll over) = 2088-07-01" 249 , "2005-04-21 + 83 * year (roll over) = 2088-04-21" 250 , "2005-06-30 + 83 * year (roll over) = 2088-06-30" ] 251