⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expr.py

📁 Python的一个ORM,现在很火
💻 PY
📖 第 1 页 / 共 5 页
字号:
                          "UPDATE func2() SET column1=elem1 WHERE func1()")        self.assertEquals(parameters, [])    def test_update_auto_table(self):        expr = Update({Column(column1, table1): elem1})        statement, parameters = compile(expr)        self.assertEquals(statement, "UPDATE table1 SET column1=elem1")        self.assertEquals(parameters, [])    def test_update_auto_table_default(self):        expr = Update({Column(column1): elem1}, default_table=table1)        statement, parameters = compile(expr)        self.assertEquals(statement, "UPDATE table1 SET column1=elem1")        self.assertEquals(parameters, [])    def test_update_auto_table_unknown(self):        expr = Update({Column(column1): elem1})        self.assertRaises(CompileError, compile, expr)    def test_update_with_strings(self):        expr = Update({column1: elem1}, "1 = 2", table1)        statement, parameters = compile(expr)        self.assertEquals(statement,                          "UPDATE table1 SET column1=elem1 WHERE 1 = 2")        self.assertEquals(parameters, [])    def test_update_contexts(self):        set_left, set_right, where, table = track_contexts(4)        expr = Update({set_left: set_right}, where, table)        compile(expr)        self.assertEquals(set_left.context, COLUMN_NAME)        self.assertEquals(set_right.context, COLUMN_NAME)        self.assertEquals(where.context, EXPR)        self.assertEquals(table.context, TABLE)    def test_delete(self):        expr = Delete(table=Func1())        statement, parameters = compile(expr)        self.assertEquals(statement, "DELETE FROM func1()")        self.assertEquals(parameters, [])    def test_delete_where(self):        expr = Delete(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "DELETE FROM func2() WHERE func1()")        self.assertEquals(parameters, [])    def test_delete_with_strings(self):        expr = Delete("1 = 2", table1)        statement, parameters = compile(expr)        self.assertEquals(statement, "DELETE FROM table1 WHERE 1 = 2")        self.assertEquals(parameters, [])    def test_delete_auto_table(self):        expr = Delete(Column(column1, table1) == 1)        statement, parameters = compile(expr)        self.assertEquals(statement,                          "DELETE FROM table1 WHERE table1.column1 = ?")        self.assertEquals(parameters, [Variable(1)])    def test_delete_auto_table_default(self):        expr = Delete(Column(column1) == 1, default_table=table1)        statement, parameters = compile(expr)        self.assertEquals(statement,                          "DELETE FROM table1 WHERE column1 = ?")        self.assertEquals(parameters, [Variable(1)])    def test_delete_auto_table_unknown(self):        expr = Delete(Column(column1) == 1)        self.assertRaises(NoTableError, compile, expr)    def test_delete_contexts(self):        where, table = track_contexts(2)        expr = Delete(where, table)        compile(expr)        self.assertEquals(where.context, EXPR)        self.assertEquals(table.context, TABLE)    def test_column(self):        expr = Column(column1)        statement, parameters = compile(expr)        self.assertEquals(statement, "column1")        self.assertEquals(parameters, [])    def test_column_table(self):        expr = Select(Column(column1, Func1()))        statement, parameters = compile(expr)        self.assertEquals(statement, "SELECT func1().column1 FROM func1()")        self.assertEquals(parameters, [])    def test_column_contexts(self):        table, = track_contexts(1)        expr = Column(column1, table)        compile(expr)        self.assertEquals(table.context, COLUMN_PREFIX)    def test_variable(self):        expr = Variable("value")        statement, parameters = compile(expr)        self.assertEquals(statement, "?")        self.assertEquals(parameters, [Variable("value")])    def test_eq(self):        expr = Eq(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() = func2()")        self.assertEquals(parameters, [])        expr = Func1() == "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() = ?")        self.assertEquals(parameters, [Variable("value")])    def test_is_in(self):        expr = Func1().is_in(["Hello", "World"])        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() IN (?, ?)")        self.assertEquals(parameters, [Variable("Hello"), Variable("World")])    def test_is_in_empty(self):        expr = Func1().is_in([])        statement, parameters = compile(expr)        self.assertEquals(statement, "NULL")        self.assertEquals(parameters, [])    def test_is_in_expr(self):        expr = Func1().is_in(Select(column1))        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() IN (SELECT column1)")        self.assertEquals(parameters, [])    def test_eq_none(self):        expr = Func1() == None        self.assertTrue(expr.expr2 is None)        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() IS NULL")        self.assertEquals(parameters, [])    def test_ne(self):        expr = Ne(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() != func2()")        self.assertEquals(parameters, [])        expr = Func1() != "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() != ?")        self.assertEquals(parameters, [Variable("value")])    def test_ne_none(self):        expr = Func1() != None        self.assertTrue(expr.expr2 is None)        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() IS NOT NULL")        self.assertEquals(parameters, [])    def test_gt(self):        expr = Gt(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() > func2()")        self.assertEquals(parameters, [])        expr = Func1() > "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() > ?")        self.assertEquals(parameters, [Variable("value")])    def test_ge(self):        expr = Ge(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() >= func2()")        self.assertEquals(parameters, [])        expr = Func1() >= "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() >= ?")        self.assertEquals(parameters, [Variable("value")])    def test_lt(self):        expr = Lt(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() < func2()")        self.assertEquals(parameters, [])        expr = Func1() < "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() < ?")        self.assertEquals(parameters, [Variable("value")])    def test_le(self):        expr = Le(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() <= func2()")        self.assertEquals(parameters, [])        expr = Func1() <= "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() <= ?")        self.assertEquals(parameters, [Variable("value")])    def test_lshift(self):        expr = LShift(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()<<func2()")        self.assertEquals(parameters, [])        expr = Func1() << "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()<<?")        self.assertEquals(parameters, [Variable("value")])    def test_rshift(self):        expr = RShift(Func1(), Func2())        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()>>func2()")        self.assertEquals(parameters, [])        expr = Func1() >> "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()>>?")        self.assertEquals(parameters, [Variable("value")])    def test_like(self):        expr = Like(Func1(), "value")        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() LIKE ?")        self.assertEquals(parameters, [CharsVariable("value")])        expr = Func1().like("Hello")        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() LIKE ?")        self.assertEquals(parameters, [Variable("Hello")])    def test_like_escape(self):        expr = Like(Func1(), "value", "!")        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() LIKE ? ESCAPE ?")        self.assertEquals(parameters,                          [CharsVariable("value"), CharsVariable("!")])        expr = Func1().like("Hello", "!")        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() LIKE ? ESCAPE ?")        self.assertEquals(parameters, [Variable("Hello"), CharsVariable("!")])    def test_in(self):        expr = In(Func1(), "value")        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() IN (?)")        self.assertEquals(parameters, [CharsVariable("value")])        expr = In(Func1(), elem1)        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() IN (elem1)")        self.assertEquals(parameters, [])    def test_and(self):        expr = And(elem1, elem2, And(elem3, elem4))        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1 AND elem2 AND elem3 AND elem4")        self.assertEquals(parameters, [])        expr = Func1() & "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() AND ?")        self.assertEquals(parameters, [Variable("value")])    def test_or(self):        expr = Or(elem1, elem2, Or(elem3, elem4))        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1 OR elem2 OR elem3 OR elem4")        self.assertEquals(parameters, [])        expr = Func1() | "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1() OR ?")        self.assertEquals(parameters, [Variable("value")])    def test_and_with_strings(self):        expr = And("elem1", "elem2")        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1 AND elem2")        self.assertEquals(parameters, [])    def test_or_with_strings(self):        expr = Or("elem1", "elem2")        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1 OR elem2")        self.assertEquals(parameters, [])    def test_add(self):        expr = Add(elem1, elem2, Add(elem3, elem4))        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1+elem2+elem3+elem4")        self.assertEquals(parameters, [])        expr = Func1() + "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()+?")        self.assertEquals(parameters, [Variable("value")])    def test_sub(self):        expr = Sub(elem1, Sub(elem2, elem3))        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1-(elem2-elem3)")        self.assertEquals(parameters, [])        expr = Sub(Sub(elem1, elem2), elem3)        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1-elem2-elem3")        self.assertEquals(parameters, [])        expr = Func1() - "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()-?")        self.assertEquals(parameters, [Variable("value")])    def test_mul(self):        expr = Mul(elem1, elem2, Mul(elem3, elem4))        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1*elem2*elem3*elem4")        self.assertEquals(parameters, [])        expr = Func1() * "value"        statement, parameters = compile(expr)        self.assertEquals(statement, "func1()*?")        self.assertEquals(parameters, [Variable("value")])    def test_div(self):        expr = Div(elem1, Div(elem2, elem3))        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1/(elem2/elem3)")        self.assertEquals(parameters, [])        expr = Div(Div(elem1, elem2), elem3)        statement, parameters = compile(expr)        self.assertEquals(statement, "elem1/elem2/elem3")

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -