1975
1979
def test_datetime(self):
1976
1980
dt = datetime(1977, 5, 4, 12, 34)
1977
py_expr = compile_python(dt)
1978
self.assertEquals(py_expr, repr(dt))
1982
py_expr = compile_python(dt, state)
1983
self.assertEquals(py_expr, "_0")
1984
self.assertEquals(state.parameters, [dt])
1980
1986
def test_date(self):
1981
1987
d = date(1977, 5, 4)
1982
py_expr = compile_python(d)
1983
self.assertEquals(py_expr, repr(d))
1989
py_expr = compile_python(d, state)
1990
self.assertEquals(py_expr, "_0")
1991
self.assertEquals(state.parameters, [d])
1985
1993
def test_time(self):
1986
1994
t = time(12, 34)
1987
py_expr = compile_python(t)
1988
self.assertEquals(py_expr, repr(t))
1996
py_expr = compile_python(t, state)
1997
self.assertEquals(py_expr, "_0")
1998
self.assertEquals(state.parameters, [t])
1990
2000
def test_timedelta(self):
1991
2001
td = timedelta(days=1, seconds=2, microseconds=3)
1992
py_expr = compile_python(td)
1993
self.assertEquals(py_expr, repr(td))
2003
py_expr = compile_python(td, state)
2004
self.assertEquals(py_expr, "_0")
2005
self.assertEquals(state.parameters, [td])
1995
2007
def test_none(self):
1996
2008
py_expr = compile_python(None)
1999
2011
def test_column(self):
2000
2012
expr = Column(column1)
2001
py_expr = compile_python(expr)
2002
self.assertEquals(py_expr, "get_column('column1')")
2014
py_expr = compile_python(expr, state)
2015
self.assertEquals(py_expr, "get_column(_0)")
2016
self.assertEquals(state.parameters, [expr])
2004
2018
def test_column_table(self):
2005
2019
expr = Column(column1, table1)
2006
py_expr = compile_python(expr)
2007
self.assertEquals(py_expr, "get_column('column1')")
2021
py_expr = compile_python(expr, state)
2022
self.assertEquals(py_expr, "get_column(_0)")
2023
self.assertEquals(state.parameters, [expr])
2009
2025
def test_variable(self):
2010
2026
expr = Variable("value")
2011
py_expr = compile_python(expr)
2012
self.assertEquals(py_expr, "'value'")
2028
py_expr = compile_python(expr, state)
2029
self.assertEquals(py_expr, "_0")
2030
self.assertEquals(state.parameters, ["value"])
2014
2032
def test_eq(self):
2015
2033
expr = Eq(Variable(1), Variable(2))
2016
py_expr = compile_python(expr)
2017
self.assertEquals(py_expr, "1 == 2")
2035
py_expr = compile_python(expr, state)
2036
self.assertEquals(py_expr, "_0 == _1")
2037
self.assertEquals(state.parameters, [1, 2])
2019
2039
def test_ne(self):
2020
2040
expr = Ne(Variable(1), Variable(2))
2021
py_expr = compile_python(expr)
2022
self.assertEquals(py_expr, "1 != 2")
2042
py_expr = compile_python(expr, state)
2043
self.assertEquals(py_expr, "_0 != _1")
2044
self.assertEquals(state.parameters, [1, 2])
2024
2046
def test_gt(self):
2025
2047
expr = Gt(Variable(1), Variable(2))
2026
py_expr = compile_python(expr)
2027
self.assertEquals(py_expr, "1 > 2")
2049
py_expr = compile_python(expr, state)
2050
self.assertEquals(py_expr, "_0 > _1")
2051
self.assertEquals(state.parameters, [1, 2])
2029
2053
def test_ge(self):
2030
2054
expr = Ge(Variable(1), Variable(2))
2031
py_expr = compile_python(expr)
2032
self.assertEquals(py_expr, "1 >= 2")
2056
py_expr = compile_python(expr, state)
2057
self.assertEquals(py_expr, "_0 >= _1")
2058
self.assertEquals(state.parameters, [1, 2])
2034
2060
def test_lt(self):
2035
2061
expr = Lt(Variable(1), Variable(2))
2036
py_expr = compile_python(expr)
2037
self.assertEquals(py_expr, "1 < 2")
2063
py_expr = compile_python(expr, state)
2064
self.assertEquals(py_expr, "_0 < _1")
2065
self.assertEquals(state.parameters, [1, 2])
2039
2067
def test_le(self):
2040
2068
expr = Le(Variable(1), Variable(2))
2041
py_expr = compile_python(expr)
2042
self.assertEquals(py_expr, "1 <= 2")
2070
py_expr = compile_python(expr, state)
2071
self.assertEquals(py_expr, "_0 <= _1")
2072
self.assertEquals(state.parameters, [1, 2])
2044
2074
def test_lshift(self):
2045
2075
expr = LShift(Variable(1), Variable(2))
2046
py_expr = compile_python(expr)
2047
self.assertEquals(py_expr, "1<<2")
2077
py_expr = compile_python(expr, state)
2078
self.assertEquals(py_expr, "_0<<_1")
2079
self.assertEquals(state.parameters, [1, 2])
2049
2081
def test_rshift(self):
2050
2082
expr = RShift(Variable(1), Variable(2))
2051
py_expr = compile_python(expr)
2052
self.assertEquals(py_expr, "1>>2")
2084
py_expr = compile_python(expr, state)
2085
self.assertEquals(py_expr, "_0>>_1")
2086
self.assertEquals(state.parameters, [1, 2])
2054
2088
def test_in(self):
2055
2089
expr = In(Variable(1), Variable(2))
2056
py_expr = compile_python(expr)
2057
self.assertEquals(py_expr, "1 in (2,)")
2091
py_expr = compile_python(expr, state)
2092
self.assertEquals(py_expr, "_0 in (_1,)")
2093
self.assertEquals(state.parameters, [1, 2])
2059
2095
def test_and(self):
2060
2096
expr = And(elem1, elem2, And(elem3, elem4))