예제 #1
0
def test_query_all():
    person1 = type_and_instance('Person', name="Name 1", memory=True)
    person2 = type_and_instance('Person', name="Name 2", memory=True)

    data = [person1, person2]
    queryset = MemoryQuerySet(person1.__class__, data=data)

    assert len(queryset.all()) == 2
예제 #2
0
def test_query_all():
    person1 = type_and_instance('Person', name="Name 1", memory=True)
    person2 = type_and_instance('Person', name="Name 2", memory=True)

    data = [person1, person2]
    queryset = MemoryQuerySet(person1.__class__, data=data)

    assert len(queryset.all()) == 2
예제 #3
0
def test_query_delete():
    from datetime import date

    person1 = type_and_instance_attr_eq('Person',
                                name="Name 1",
                                nickname="Nickname 1",
                                birthday=date(2011, 6, 20),
                                age=30,
                                memory=True)

    person2 = type_and_instance_attr_eq('Person',
                                name="Name 2",
                                nickname="Nickname 2",
                                birthday=date(2011, 6, 22),
                                age=57,
                                memory=True)

    person3 = type_and_instance_attr_eq('Person',
                                name="Name 3",
                                nickname="Nickname 3",
                                birthday=date(2011, 4, 20),
                                age=30,
                                memory=True)

    person4 = type_and_instance_attr_eq('Person',
                                name="Name 4",
                                nickname="Nickname 4",
                                birthday=date(2010, 6, 20),
                                age=30,
                                memory=True)

    data = [person1, person2, person3, person4]

    queryset = MemoryQuerySet(person1.__class__, data=data)
    repository = Repository()
    repository.__dict__['data']['Person'] = data

    queryset.filter(age__gte=10,birthday__lte=date(2011, 05, 05)).delete()
    assert len(queryset.all()) == 2
    assert queryset.all().count() == 2

    queryset = MemoryQuerySet(person1.__class__, data=data)
    assert len(queryset.all()) == 2
    assert queryset.all().count() == 2
예제 #4
0
def test_query_delete():
    from datetime import date

    person1 = type_and_instance_attr_eq('Person',
                                        name="Name 1",
                                        nickname="Nickname 1",
                                        birthday=date(2011, 6, 20),
                                        age=30,
                                        memory=True)

    person2 = type_and_instance_attr_eq('Person',
                                        name="Name 2",
                                        nickname="Nickname 2",
                                        birthday=date(2011, 6, 22),
                                        age=57,
                                        memory=True)

    person3 = type_and_instance_attr_eq('Person',
                                        name="Name 3",
                                        nickname="Nickname 3",
                                        birthday=date(2011, 4, 20),
                                        age=30,
                                        memory=True)

    person4 = type_and_instance_attr_eq('Person',
                                        name="Name 4",
                                        nickname="Nickname 4",
                                        birthday=date(2010, 6, 20),
                                        age=30,
                                        memory=True)

    data = [person1, person2, person3, person4]

    queryset = MemoryQuerySet(person1.__class__, data=data)
    repository = Repository()
    repository.__dict__['data']['Person'] = data

    queryset.filter(age__gte=10, birthday__lte=date(2011, 05, 05)).delete()
    assert len(queryset.all()) == 2
    assert queryset.all().count() == 2

    queryset = MemoryQuerySet(person1.__class__, data=data)
    assert len(queryset.all()) == 2
    assert queryset.all().count() == 2
예제 #5
0
def test_queryset_create():
    class Dummy(object):
        def __init__(self, **kwargs):
            self.__dict__ = kwargs

    queryset = MemoryQuerySet(Dummy, data=[])
    assert len(queryset.all()) == 0

    model = queryset.create(id=1, name="Name 1", age=20)
    assert isinstance(model, Dummy)
    assert len(queryset.all()) == 1
    assert queryset.get(age=20).name == "Name 1"

    model = queryset.create(id=2, name="Name 2", age=25)
    assert isinstance(model, Dummy)
    assert len(queryset.all()) == 2
    assert queryset.get(age=20).name == "Name 1"
    assert queryset.get(age=25).name == "Name 2"

    queryset2 = MemoryQuerySet(Dummy, data=[])
    MemoryQuerySet.fetch_from_repo = True
    assert len(queryset2.all()) == 2
    assert queryset2.get(age=20).name == "Name 1"
    assert queryset2.get(age=25).name == "Name 2"
예제 #6
0
def test_queryset_create():
    class Dummy(object):
        def __init__(self, **kwargs):
            self.__dict__ = kwargs

    queryset = MemoryQuerySet(Dummy, data=[])
    assert len(queryset.all()) == 0

    model = queryset.create(id=1, name="Name 1", age=20)
    assert isinstance(model, Dummy)
    assert len(queryset.all()) == 1
    assert queryset.get(age=20).name == "Name 1"

    model = queryset.create(id=2, name="Name 2", age=25)
    assert isinstance(model, Dummy)
    assert len(queryset.all()) == 2
    assert queryset.get(age=20).name == "Name 1"
    assert queryset.get(age=25).name == "Name 2"

    queryset2 = MemoryQuerySet(Dummy, data=[])
    MemoryQuerySet.fetch_from_repo = True
    assert len(queryset2.all()) == 2
    assert queryset2.get(age=20).name == "Name 1"
    assert queryset2.get(age=25).name == "Name 2"