# Path: djangoql/ast.py
# class Comparison(Operator):
#     pass
# 
# class Const(Node):
#     def __init__(self, value):
#         self.value = value
# 
# class Expression(Node):
#     def __init__(self, left, operator, right):
#         self.left = left
#         self.operator = operator
#         self.right = right
# 
# class Name(Node):
#     def __init__(self, parts):
#         if isinstance(parts, list):
#             self.parts = parts
#         elif isinstance(parts, tuple):
#             self.parts = list(parts)
#         else:
#             self.parts = [parts]
# 
#     @property
#     def value(self):
#         return '.'.join(self.parts)


from unittest import TestCase
from djangoql.ast import Comparison, Const, Expression, Name



class DjangoQLASTTest(TestCase):
    def test_equality(self):
        self.assertEqual(
            Expression(Name('age'), Comparison('='), Const(18)),

# Path: djangoql/ast.py
# class Comparison(Operator):
#     pass
# 
# class Const(Node):
#     def __init__(self, value):
#         self.value = value
# 
# class Expression(Node):
#     def __init__(self, left, operator, right):
#         self.left = left
#         self.operator = operator
#         self.right = right
# 
# class Name(Node):
#     def __init__(self, parts):
#         if isinstance(parts, list):
#             self.parts = parts
#         elif isinstance(parts, tuple):
#             self.parts = list(parts)
#         else:
#             self.parts = [parts]
# 
#     @property
#     def value(self):
#         return '.'.join(self.parts)


# Path: test_project/core/tests/test_ast.py
from unittest import TestCase
from djangoql.ast import Comparison, Const, Expression, Name




class DjangoQLASTTest(TestCase):
    def test_equality(self):
        self.assertEqual(
            Expression(Name('age'), Comparison('='), Const(18)),

            Expression(Name('age'), Comparison('='), Const(18)),