'Tests that calling a queryset function that changes it\'s state returns a new queryset'

def test_queryset_is_immutable(self):

    query1 = TestModel.objects(test_id=5)
    assert (len(query1._where) == 1)
    query2 = query1.filter(expected_result__gte=1)
    assert (len(query2._where) == 2)
    assert (len(query1._where) == 1)
