def test_compound_and_string_ops(self):
     lhs = KwargsqlToMongo.convert(
         foo__bar__exists=1,
         foo__bar__iendswith='pika+',
         foo='plop',
     )
     self.assertIsInstance(lhs, dict)
     self.assertTrue(len(lhs) == 1)
     self.assertItemsEqual(
         lhs.get('$and'),
         [
             {
                 'foo': 'plop'
             },
             {
                 'foo.bar': {
                     '$exists': True,
                 }
             },
             {
                 'foo.bar': {
                     '$regex': '^.*pika\+$',
                     '$options': 'i',
                 }
             },
         ],
     )
 def test_straight_operators(self):
     self.assertEquals(
         KwargsqlToMongo.convert(foo__bar__in=[41, 42]),
         {
             'foo.bar': {
                 '$in': [41, 42],
             },
         },
     )
     self.assertEquals(
         KwargsqlToMongo.convert(foo__bar__exists=42),
         {
             'foo.bar': {
                 '$exists': True,
             },
         },
     )
 def test_straight_operators(self):
     self.assertEquals(
         KwargsqlToMongo.convert(foo__bar__in=[41, 42]),
         {
             'foo.bar': {
                 '$in': [41, 42],
             },
         },
     )
     self.assertEquals(
         KwargsqlToMongo.convert(foo__bar__exists=42),
         {
             'foo.bar': {
                 '$exists': True,
             },
         },
     )
 def test_compound_and_string_ops(self):
     lhs = KwargsqlToMongo.convert(
         foo__bar__exists=1,
         foo__bar__iendswith='pika+',
         foo='plop',
     )
     self.assertIsInstance(lhs, dict)
     self.assertTrue(len(lhs) == 1)
     self.assertItemsEqual(
         lhs.get('$and'),
         [
             {'foo': 'plop'},
             {'foo.bar': {
                 '$exists': True,
             }},
             {'foo.bar': {
                 '$regex': '^.*pika\+$',
                 '$options': 'i',
             }},
         ],
     )
 def test_no_op(self):
     self.assertEqual(KwargsqlToMongo.convert(), {})
 def test_no_op(self):
     self.assertEqual(
         KwargsqlToMongo.convert(),
         {}
     )