def testSourceCache(self): """Creating the query with valid source should preserve it.""" q = query.Query("Process.pid != 10") # Extra whitespace. self.assertEqual(q.source, "Process.pid != 10") # Normalization shouldn't mess up the code (because it's 1:1). q = normalize.normalize(q) self.assertEqual(q.source, "Process.pid != 10")
def testVariadicExpressionMerging(self): """Make sure variadic expressions are collapsed.""" original = query.Query( ("|", ("var", "x"), ("|", ("var", "y"), ("var", "z")))) expected = query.Query(("|", ("var", "x"), ("var", "y"), ("var", "z"))) self.assertEqual(normalize.normalize(original), expected)
def testSourceCache(self): """Creating the query with valid source should preserve it.""" q = query.Query("Process.pid != 10") # Extra whitespace. self.assertEqual(q.source, "Process.pid != 10") # Normalization shouldn't mess up the code (because it's 1:1). q = normalize.normalize(q) self.assertEqual(q.source, "Process.pid != 10")
def testVariadicExpressionMerging(self): """Make sure variadic expressions are collapsed.""" original = query.Query( ("|", ("var", "x"), ("|", ("var", "y"), ("var", "z")))) expected = query.Query( ("|", ("var", "x"), ("var", "y"), ("var", "z"))) self.assertEqual(normalize.normalize(original), expected)
def testBinaryExpression(self): """Make sure binary expressions are normalized.""" original = query.Query( (":", ("literal", "x"), ("|", ("var", "x"), ("|", ("var", "y"), ("var", "z"))))) expected = query.Query( (":", ("literal", "x"), ("|", ("var", "x"), ("var", "y"), ("var", "z")))) self.assertEqual(normalize.normalize(original), expected)
def testReverse(self): """Make sure that reverse gets normalized.""" original = query.Query( ("apply", ("var", "reverse"), ("repeat", ("var", "x"), ("var", "y"), ("|", 1, ("|", 2, 3))))) expected = query.Query( ("apply", ("var", "reverse"), ("repeat", ("var", "x"), ("var", "y"), ("|", 1, 2, 3)))) self.assertEqual(normalize.normalize(original), expected)
def testApply(self): """Make sure arguments to functions are normalized.""" original = query.Query( ("apply", ("var", "f"), ("|", ("var", "x"), ("|", ("var", "y"), ("var", "z"))), ("var", "w"))) expected = query.Query( ("apply", ("var", "f"), ("|", ("var", "x"), ("var", "y"), ("var", "z")), ("var", "w"))) self.assertEqual(normalize.normalize(original), expected)
def testBinaryExpression(self): """Make sure binary expressions are normalized.""" original = query.Query( (":", ("literal", "x"), ("|", ("var", "x"), ("|", ("var", "y"), ("var", "z"))))) expected = query.Query( (":", ("literal", "x"), ("|", ("var", "x"), ("var", "y"), ("var", "z")))) self.assertEqual(normalize.normalize(original), expected)
def testApply(self): """Make sure arguments to functions are normalized.""" original = query.Query( ("apply", ("var", "f"), ("|", ("var", "x"), ("|", ("var", "y"), ("var", "z"))), ("var", "w"))) expected = query.Query( ("apply", ("var", "f"), ("|", ("var", "x"), ("var", "y"), ("var", "z")), ("var", "w"))) self.assertEqual(normalize.normalize(original), expected)
def testReverse(self): """Make sure that reverse gets normalized.""" original = query.Query( ("apply", ("var", "reverse"), ("repeat", ("var", "x"), ("var", "y"), ("|", 1, ("|", 2, 3))))) expected = query.Query( ("apply", ("var", "reverse"), ("repeat", ("var", "x"), ("var", "y"), ("|", 1, 2, 3)))) self.assertEqual(normalize.normalize(original), expected)
def testVariadicExpressionElimination(self): """Make sure variadic expressions are eliminated.""" original = query.Query(("&", ("var", "w"))) expected = query.Query(("var", "w")) self.assertEqual(normalize.normalize(original), expected)
def testVariadicExpressionElimination(self): """Make sure variadic expressions are eliminated.""" original = query.Query(("&", ("var", "w"))) expected = query.Query(("var", "w")) self.assertEqual(normalize.normalize(original), expected)