コード例 #1
0
ファイル: test_reader.py プロジェクト: MatthewWest/pixie
    def _compare(self, frm, to):
        if isinstance(to, tuple):
            assert isinstance(frm, Cons)

            for x in to:
                self._compare(frm.first(), x)
                frm = frm.next()
            assert frm == nil
        elif isinstance(to, int):
            assert isinstance(frm, Integer)
            assert frm._int_val == to

        elif isinstance(to, Symbol):
            assert isinstance(frm, Symbol)
            assert frm._str == to._str

        elif isinstance(to, list):
            assert isinstance(frm, PersistentVector)

            for x in range(max(len(to), rt._count(frm)._int_val)):
                self._compare(rt.nth(frm, rt.wrap(x)), to[x])

        elif isinstance(to, dict):
            assert isinstance(frm, PersistentHashMap)
            for key in dict.keys(to):
                self._compare(frm.val_at(rt.wrap(key), ""), to[key])

            assert rt._count(frm)._int_val == len(dict.keys(to))

        elif isinstance(to, Character):
            assert isinstance(frm, Character)
            assert to._char_val == frm._char_val

        else:
            raise Exception("Don't know how to handle " + str(type(to)))
コード例 #2
0
    def _compare(self, frm, to):
        if isinstance(to, tuple):
            assert isinstance(frm, Cons)

            for x in to:
                self._compare(frm.first(), x)
                frm = frm.next()
            assert frm == nil
        elif isinstance(to, int):
            assert isinstance(frm, Integer)
            assert frm._int_val == to

        elif isinstance(to, Symbol):
            assert isinstance(frm, Symbol)
            assert frm._str == to._str

        elif isinstance(to, list):
            assert isinstance(frm, PersistentVector)

            for x in range(max(len(to), rt._count(frm)._int_val)):
                self._compare(rt.nth(frm, rt.wrap(x)), to[x])

        elif isinstance(to, dict):
            assert isinstance(frm, PersistentHashMap)
            for key in dict.keys(to):
                self._compare(frm.val_at(rt.wrap(key), ""), to[key])

            assert rt._count(frm)._int_val == len(dict.keys(to))

        elif isinstance(to, Character):
            assert isinstance(frm, Character)
            assert to._char_val == frm._char_val

        else:
            raise Exception("Don't know how to handle " + str(type(to)))
コード例 #3
0
ファイル: string.py プロジェクト: MatthewWest/pixie
def substring2(a, start):
    return substring3(a, start, rt._count(a))
コード例 #4
0
def _count(self):
    assert isinstance(self, PersistentHashSet)
    return rt._count(self._map)
コード例 #5
0
ファイル: persistent_hash_set.py プロジェクト: stuarth/pixie
def _count(self):
    assert isinstance(self, PersistentHashSet)
    return rt._count(self._map)
コード例 #6
0
ファイル: string.py プロジェクト: zen3d/pixie
def substring2(a, start):
    return substring3(a, start, rt._count(a))