'Ensure that cloning clones complex querysets'

def test_clone(self):

    class Number(Document, ):
        n = IntField()
    Number.drop_collection()
    for i in range(1, 101):
        t = Number(n=i)
        t.save()
    test = Number.objects
    test2 = test.clone()
    self.assertFalse((test == test2))
    self.assertEqual(test.count(), test2.count())
    test = test.filter(n__gt=11)
    test2 = test.clone()
    self.assertFalse((test == test2))
    self.assertEqual(test.count(), test2.count())
    test = test.limit(10)
    test2 = test.clone()
    self.assertFalse((test == test2))
    self.assertEqual(test.count(), test2.count())
    Number.drop_collection()
