OLD | NEW |
(Empty) | |
| 1 var HELPER_MATCHERS = (function() { |
| 2 var EPSILON = 0.00001; |
| 3 |
| 4 return { |
| 5 /* |
| 6 Returns true if `actual` has the same length as `expected`, and |
| 7 if each element of both arrays is within 0.000001 of each other. |
| 8 This is a way to check for "equal enough" conditions, as a way |
| 9 of working around floating point imprecision. |
| 10 */ |
| 11 toBeEqualish: function(expected) { |
| 12 if (typeof(this.actual) == 'number') |
| 13 return Math.abs(this.actual - expected) < EPSILON; |
| 14 |
| 15 if (this.actual.length != expected.length) return false; |
| 16 for (var i = 0; i < this.actual.length; i++) { |
| 17 if (isNaN(this.actual[i]) !== isNaN(expected[i])) |
| 18 return false; |
| 19 if (Math.abs(this.actual[i] - expected[i]) >= EPSILON) |
| 20 return false; |
| 21 } |
| 22 return true; |
| 23 } |
| 24 }; |
| 25 })(); |
| 26 |
| 27 beforeEach(function() { |
| 28 this.addMatchers(HELPER_MATCHERS); |
| 29 }); |
| 30 |
| 31 if (typeof(global) != 'undefined') |
| 32 global.HELPER_MATCHERS = HELPER_MATCHERS; |
OLD | NEW |