ListOfMatchExpression_test.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. MatchExpression = require("../../../lib/matcher/MatchExpression"),
  5. ListOfMatchExpression = require("../../../lib/matcher/ListOfMatchExpression");
  6. exports.ListOfMatchExpression = {
  7. "Constructor": function Constructor() {
  8. var e = new ListOfMatchExpression("AND");
  9. assert.equal(e._matchType, "AND");
  10. },
  11. "Add": function Add() {
  12. var e = new ListOfMatchExpression();
  13. e.add(new MatchExpression("OR"));
  14. assert.equal(e._expressions[0]._matchType, "OR");
  15. },
  16. "Add2": function Add2() {
  17. var e = new ListOfMatchExpression();
  18. e.add(new MatchExpression("OR"));
  19. e.add(new MatchExpression("NOT"));
  20. assert.equal(e._expressions[0]._matchType, "OR");
  21. assert.equal(e._expressions[1]._matchType, "NOT");
  22. },
  23. "ClearAndRelease": function ClearAndRelease() {
  24. var e = new ListOfMatchExpression();
  25. e.add(new MatchExpression("OR"));
  26. e.add(new MatchExpression("NOT"));
  27. e.clearAndRelease();
  28. assert.equal(e._expressions.length, 0);
  29. },
  30. "NumChildren": function NumChildren() {
  31. var e = new ListOfMatchExpression();
  32. e.add(new MatchExpression("OR"));
  33. e.add(new MatchExpression("NOT"));
  34. assert.equal(e.numChildren(), 2);
  35. },
  36. "GetChild": function GetChild() {
  37. var e = new ListOfMatchExpression(),
  38. match1 = new MatchExpression("NOT");
  39. e.add(new MatchExpression("OR"));
  40. e.add(match1);
  41. assert.deepEqual(e.getChild(1), match1);
  42. },
  43. "GetChildVector": function GetChildVector() {
  44. var e = new ListOfMatchExpression(),
  45. match0 = new MatchExpression("NOT"),
  46. match1 = new MatchExpression("OR");
  47. e.add(match0);
  48. e.add(match1);
  49. assert.equal(e.getChildVector().length, 2);
  50. },
  51. "Equivalent": function Equivalent() {
  52. var e = new ListOfMatchExpression("TEXT"),
  53. f = new ListOfMatchExpression("TEXT");
  54. assert.equal(e.equivalent(f), true);
  55. },
  56. };