def test_getitem_with_slice(self): e = xso_query._SoftExprMixin() with contextlib.ExitStack() as stack: Nth = stack.enter_context( unittest.mock.patch( "aioxmpp.xso.query.Nth", ) ) Constant = stack.enter_context( unittest.mock.patch( "aioxmpp.xso.query.Constant", ) ) result = e[1:2:3] Constant.assert_called_with( slice(1, 2, 3), ) Nth.assert_called_with( e, Constant() ) self.assertEqual( result, Nth() )
def test_getitem_uses_as_expr(self): index = unittest.mock.sentinel.index e = xso_query._SoftExprMixin() with contextlib.ExitStack() as stack: as_expr = stack.enter_context( unittest.mock.patch("aioxmpp.xso.query.as_expr") ) Nth = stack.enter_context( unittest.mock.patch("aioxmpp.xso.query.Nth") ) result = e[index] as_expr.assert_called_with(index) Nth.assert_called_with( e, as_expr(), ) self.assertEqual( result, Nth(), )
def test_expr_slash_Expr(self): e = xso_query._SoftExprMixin() e2 = unittest.mock.Mock(spec=xso_query.Expr) with unittest.mock.patch("aioxmpp.xso.query.as_expr") as as_expr: result = e / e2 as_expr.assert_called_with(e2, lhs=e) self.assertEqual( result, as_expr(), )
def test_expr_getitem_where(self): expr = xso_query._SoftExprMixin() w = unittest.mock.Mock(spec=xso_query.where) w.expr = unittest.mock.Mock(spec=xso_query.Expr) with unittest.mock.patch("aioxmpp.xso.query.ExprFilter") as ExprFilter: result = expr[w] ExprFilter.assert_called_with(expr, w.expr) self.assertEqual( result, ExprFilter(), )
def test_expr_slash_Expr(self): e = xso_query._SoftExprMixin() e2 = unittest.mock.Mock(spec=xso_query.Expr) with unittest.mock.patch( "aioxmpp.xso.query.as_expr") as as_expr: result = e / e2 as_expr.assert_called_with(e2, lhs=e) self.assertEqual( result, as_expr(), )
def test_expr_getitem_where(self): expr = xso_query._SoftExprMixin() w = unittest.mock.Mock(spec=xso_query.where) w.expr = unittest.mock.Mock(spec=xso_query.Expr) with unittest.mock.patch( "aioxmpp.xso.query.ExprFilter") as ExprFilter: result = expr[w] ExprFilter.assert_called_with(expr, w.expr) self.assertEqual( result, ExprFilter(), )
def test_getitem_with_slice(self): e = xso_query._SoftExprMixin() with contextlib.ExitStack() as stack: Nth = stack.enter_context( unittest.mock.patch("aioxmpp.xso.query.Nth", )) Constant = stack.enter_context( unittest.mock.patch("aioxmpp.xso.query.Constant", )) result = e[1:2:3] Constant.assert_called_with(slice(1, 2, 3), ) Nth.assert_called_with(e, Constant()) self.assertEqual(result, Nth())
def test_getitem_uses_as_expr(self): index = unittest.mock.sentinel.index e = xso_query._SoftExprMixin() with contextlib.ExitStack() as stack: as_expr = stack.enter_context( unittest.mock.patch("aioxmpp.xso.query.as_expr")) Nth = stack.enter_context( unittest.mock.patch("aioxmpp.xso.query.Nth")) result = e[index] as_expr.assert_called_with(index) Nth.assert_called_with( e, as_expr(), ) self.assertEqual( result, Nth(), )