(evalFn: EvaluateFunction)
| 204 | type EvaluateFunction = (lval: unknown, rval: unknown, caseTag: CaseTag) => void; |
| 205 | |
| 206 | function eachRelationalComparisonCase(evalFn: EvaluateFunction) { |
| 207 | |
| 208 | const FULL_WIDTH_SPACE = String.fromCharCode(12288); |
| 209 | |
| 210 | const testerMap = { |
| 211 | notEqualAndHasOrder: function () { |
| 212 | expectDual(123, 555, TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 213 | expectDual(-123, -555, TAG.BothNumeric_AtLeastOneNumber_L_GT_R); |
| 214 | expectDual(-123, 123, TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 215 | |
| 216 | expectDual(Infinity, 123, TAG.BothNumeric_AtLeastOneNumber_L_GT_R); |
| 217 | expectDual(-Infinity, -123, TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 218 | expectDual('Infinity', 123, TAG.BothNumeric_AtLeastOneNumber_L_GT_R); |
| 219 | expectDual('-Infinity', 123, TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 220 | expectDual(123, '555', TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 221 | expectDual(555, '555.6', TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 222 | expectDual('-555', -555.6, TAG.BothNumeric_AtLeastOneNumber_L_GT_R); |
| 223 | expectDual(123, ' 555 ', TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 224 | expectDual(' -555 ', 123, TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 225 | expectDual(123, ' \r \n 555 \t ' + FULL_WIDTH_SPACE, TAG.BothNumeric_AtLeastOneNumber_L_LT_R); |
| 226 | }, |
| 227 | |
| 228 | notEqualAndNoOrder: function () { |
| 229 | const makeDate = () => new Date(2012, 5, 12); |
| 230 | const makeFn = () => function () {}; |
| 231 | |
| 232 | expectDual(NaN, NaN, TAG.BothIncmpr_NotEQ); |
| 233 | expectDual(NaN, -NaN, TAG.BothIncmpr_NotEQ); |
| 234 | expectDual(NaN, 0, TAG.L_Incmpr_R_NumberOrString); |
| 235 | expectDual(NaN, 2, TAG.L_Incmpr_R_NumberOrString); |
| 236 | expectDual('NaN', NaN, TAG.R_Incmpr_L_NumberOrString); |
| 237 | expectDual('NaN', 0, TAG.L_Incmpr_R_NumberOrString); |
| 238 | expectDual('NaN', 2, TAG.L_Incmpr_R_NumberOrString); |
| 239 | expectDual('-NaN', -NaN, TAG.R_Incmpr_L_NumberOrString); |
| 240 | expectDual('-NaN', 0, TAG.L_Incmpr_R_NumberOrString); |
| 241 | expectDual('-NaN', 2, TAG.L_Incmpr_R_NumberOrString); |
| 242 | expectDual(true, 0, TAG.L_Incmpr_R_NumberOrString); |
| 243 | expectDual(false, 1, TAG.L_Incmpr_R_NumberOrString); |
| 244 | expectDual('true', 0, TAG.L_Incmpr_R_NumberOrString); |
| 245 | expectDual('false', 1, TAG.L_Incmpr_R_NumberOrString); |
| 246 | expectDual(undefined, 2, TAG.L_Incmpr_R_NumberOrString); |
| 247 | expectDual(undefined, 0, TAG.L_Incmpr_R_NumberOrString); |
| 248 | expectDual(null, 2, TAG.L_Incmpr_R_NumberOrString); |
| 249 | expectDual(null, 0, TAG.L_Incmpr_R_NumberOrString); |
| 250 | expectDual(makeDate(), 0, TAG.L_Incmpr_R_NumberOrString); |
| 251 | expectDual(makeDate(), makeDate(), TAG.BothIncmpr_NotEQ); |
| 252 | expectDual(makeDate(), +makeDate(), TAG.L_Incmpr_R_NumberOrString); |
| 253 | expectDual([], 1, TAG.L_Incmpr_R_NumberOrString); |
| 254 | expectDual([], 0, TAG.L_Incmpr_R_NumberOrString); |
| 255 | expectDual({}, 1, TAG.L_Incmpr_R_NumberOrString); |
| 256 | expectDual([], '0', TAG.L_Incmpr_R_NumberOrString); |
| 257 | expectDual({}, '1', TAG.L_Incmpr_R_NumberOrString); |
| 258 | expectDual({}, 0, TAG.L_Incmpr_R_NumberOrString); |
| 259 | expectDual({}, '1', TAG.L_Incmpr_R_NumberOrString); |
| 260 | expectDual({}, '0', TAG.L_Incmpr_R_NumberOrString); |
| 261 | expectDual(/1/, 0, TAG.L_Incmpr_R_NumberOrString); |
| 262 | expectDual(/0/, 0, TAG.L_Incmpr_R_NumberOrString); |
| 263 | expectDual('555a', 123, TAG.L_Incmpr_R_NumberOrString); |
no test coverage detected
searching dependent graphs…