MatchExpression_test.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. "use strict";
  2. if (!module.parent) return require.cache[__filename] = 0, (new(require("mocha"))()).addFile(__filename).ui("exports").run(process.exit);
  3. var assert = require("assert"),
  4. EqualityMatchExpression = require("../../../lib/matcher/EqualityMatchExpression"),
  5. LTEMatchExpression = require("../../../lib/matcher/LTEMatchExpression"),
  6. LTMatchExpression = require("../../../lib/matcher/LTMatchExpression"),
  7. GTEMatchExpression = require("../../../lib/matcher/GTEMatchExpression"),
  8. GTMatchExpression = require("../../../lib/matcher/GTMatchExpression");
  9. exports.LeafMatchExpression = {
  10. "Equal1": function Equal1() {
  11. var temp = {x:5},
  12. e = new EqualityMatchExpression();
  13. e.init("x", temp.x);
  14. assert(e.matchesJSON({x:5}));
  15. assert(e.matchesJSON({x:[5]}));
  16. assert(e.matchesJSON({x:[1,5]}));
  17. assert(e.matchesJSON({x:[1,5,2]}));
  18. assert(e.matchesJSON({x:[5,2]}));
  19. assert(!(e.matchesJSON({x:null})));
  20. assert(!(e.matchesJSON({x:6})));
  21. assert(!(e.matchesJSON({x:[4,2]})));
  22. assert(!(e.matchesJSON({x:[[5]]})));
  23. },
  24. "Comp1":{
  25. "LTEMatchExpression": function() {
  26. var temp = {x:5},
  27. e = new LTEMatchExpression();
  28. e.init("x", temp.x);
  29. assert(e.matchesJSON({x:5}));
  30. assert(e.matchesJSON({x:4}));
  31. assert(!(e.matchesJSON({x:6})));
  32. assert(!(e.matchesJSON({x:"eliot"})));
  33. },
  34. "LTMatchExpression": function() {
  35. var temp = {x:5},
  36. e = new LTMatchExpression();
  37. e.init("x", temp.x);
  38. assert(!(e.matchesJSON({x:5})));
  39. assert(e.matchesJSON({x:4}));
  40. assert(!(e.matchesJSON({x:6})));
  41. assert(!(e.matchesJSON({x:"eliot"})));
  42. },
  43. "GTEMatchExpression": function() {
  44. var temp = {x:5},
  45. e = new GTEMatchExpression();
  46. e.init("x", temp.x);
  47. assert(e.matchesJSON({x:5}));
  48. assert(!(e.matchesJSON({x:4})));
  49. assert(e.matchesJSON({x:6}));
  50. assert(!(e.matchesJSON({x:"eliot"})));
  51. },
  52. "GTMatchExpression": function() {
  53. var temp = {x:5},
  54. e = new GTMatchExpression();
  55. e.init("x", temp.x);
  56. assert(!(e.matchesJSON({x:5})));
  57. assert(!(e.matchesJSON({x:4})));
  58. assert(e.matchesJSON({x:6}));
  59. assert(!(e.matchesJSON({x:"eliot"})));
  60. },
  61. },
  62. };