コード例 #1
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def exhausted(self):
     l = LazyList(range(10))
     Assert(l.exhausted) == True
     l = LazyList(self._genrange(10))
     Assert(l.exhausted) == False
     l[-1]
     Assert(l.exhausted) == True
コード例 #2
0
ファイル: sequences.py プロジェクト: hairesis/brownie
    def getslice(self):
        data = range(10)
        l = LazyList(self._genrange(10))
        Assert(data[3:6]) == l[3:6]
        Assert(l.exhausted) == False

        l = LazyList(self._genrange(10))
        Assert(data[:-1]) == l[:-1]
コード例 #3
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def delitem(self):
     data = range(10)
     l = LazyList(data[:])
     del data[0]
     del l[0]
     Assert(l) == data
     l = LazyList(self._genrange(10))
     del l[2]
     Assert(l.exhausted) == False
コード例 #4
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def repr(self):
     Assert(repr(LazyList([]))) == '[]'
     data = range(10)
     l = LazyList(self._genrange(10))
     Assert(repr(l)) == '[...]'
     l[1]
     Assert(repr(l)) == '[0, 1, ...]'
     l[-1]
     Assert(repr(l)) == repr(data)
コード例 #5
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def getitem(self):
     data = range(10)
     l = LazyList(data)
     for a, b in zip(data, l):
         Assert(a) == b
     l = LazyList(self._genrange(10))
     l[5]
     Assert(l.exhausted) == False
     l = LazyList(self._genrange(10))
     Assert(l[-1]) == 9
コード例 #6
0
ファイル: sequences.py プロジェクト: hairesis/brownie
    def contains(self):
        l = LazyList(self._genrange(10))
        Assert(5).in_(l)
        Assert('foo').not_in(l)

        class Foo(object):
            def __eq__(self, other):
                raise ValueError()

        l = LazyList([Foo()])
        with Assert.raises(ValueError):
            Assert(1).not_in(l)
コード例 #7
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def delslice(self):
     data = range(10)
     l = LazyList(self._genrange(10))
     del data[3:6]
     del l[3:6]
     Assert(l.exhausted) == False
     Assert(l) == data
コード例 #8
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def setitem(self):
     data = ['foo', 'bar', 'baz']
     l = LazyList(iter(data))
     l[0] = 'spam'
     Assert(l.exhausted) == False
     Assert(l[0]) == 'spam'
     Assert(l) != data
コード例 #9
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def inplace_multiply(self):
     old = a = LazyList(self._genrange(10))
     b = range(10)
     a *= 5
     b *= 5
     Assert(a) == b
     Assert(a).is_(old)
コード例 #10
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def sort(self):
     data = range(10)
     random.choice(data)
     l = LazyList(data)
     l.sort()
     data.sort()
     Assert(l) == data
コード例 #11
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def iteration(self):
     for l in [range(10), self._genrange(10)]:
         l = LazyList(l)
         result = []
         for item in l:
             result.append(item)
         Assert(result) == range(10)
コード例 #12
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def setslice(self):
     data = range(10)
     replacement = ['foo', 'bar', 'baz']
     l = LazyList(self._genrange(10))
     l[3:6] = replacement
     data[3:6] = replacement
     Assert(l.exhausted) == False
     Assert(l) == data
コード例 #13
0
ファイル: sequences.py プロジェクト: hairesis/brownie
    def len(self):
        Assert(len(LazyList(range(10)))) == 10

        l = LazyList([])
        Assert(len(l)) == 0

        l.append(1)
        Assert(len(l)) == 1

        l.extend([2, 3])
        Assert(len(l)) == 3

        l.pop()
        Assert(len(l)) == 2

        del l[1]
        Assert(len(l)) == 1
コード例 #14
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def insert(self):
     data = self._genrange(10)
     l = LazyList(data)
     l.insert(5, 'foobar')
     Assert(l[5]) == 'foobar'
     Assert(l.exhausted) == False
     l.insert(-3, 'spam')
     Assert(l[-4]) == 'spam'
コード例 #15
0
ファイル: sequences.py プロジェクト: hairesis/brownie
    def remove(self):
        data = range(10)
        l = LazyList(self._genrange(10))
        data.remove(2)
        l.remove(2)
        Assert(l.exhausted) == False
        Assert(l) == data

        with Assert.raises(ValueError):
            l.remove('foo')
コード例 #16
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def extend(self):
     data = self._genrange(10)
     l = LazyList(data)
     l.extend(range(10, 20))
     Assert(l.exhausted) == False
     Assert(l) == range(10) + range(10, 20)
コード例 #17
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def append(self):
     data = self._genrange(10)
     l = LazyList(data)
     l.append(10)
     Assert(l.exhausted) == False
     Assert(l) == range(11)
コード例 #18
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def picklability(self):
     l = LazyList(self._genrange(10))
     pickled = pickle.loads(pickle.dumps(l))
     Assert(pickled) == l
     Assert(pickled.__class__) == l.__class__
コード例 #19
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def reverse(self):
     data = range(10)
     l = LazyList(reversed(data))
     l.reverse()
     Assert(l) == data
コード例 #20
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def index(self):
     l = LazyList(self._genrange(10))
     Assert(l.index(5)) == 5
     with Assert.raises(ValueError):
         l.index('foo')
コード例 #21
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def count(self):
     l = LazyList(['a', 'b', 'c', 'a'])
     tests = [('a', 2), ('b', 1), ('c', 1)]
     for test, result in tests:
         Assert(l.count(test)) == result
コード例 #22
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def inplace_add(self):
     old = l = LazyList([1, 2])
     l += [3, 4]
     l += (5, 6)
     Assert(l) == LazyList([1, 2, 3, 4, 5, 6])
     Assert(l).is_(old)
コード例 #23
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def multiply(self):
     a = LazyList(self._genrange(10))
     b = range(10)
     Assert(a * 5) == b * 5
コード例 #24
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def add(self):
     Assert(LazyList([1, 2]) + [3, 4]) == LazyList([1, 2, 3, 4])
     Assert(LazyList([1, 2]) + LazyList([3, 4])) == LazyList([1, 2, 3, 4])
コード例 #25
0
ファイル: sequences.py プロジェクト: hairesis/brownie
    def lower_greater_than(self):
        Assert(LazyList([]) < LazyList([])) == False
        Assert(LazyList([]) > LazyList([])) == False

        tests = [([], [1]), ([1], [2]), ([1, 2], [2, 1]), ([2, 1], [2, 2])]
        for a, b in tests:
            Assert(LazyList(a) < LazyList(b)) == True
            Assert(LazyList(a) > LazyList(b)) == False

            Assert(LazyList(b) < LazyList(a)) == False
            Assert(LazyList(b) > LazyList(a)) == True

        a = LazyList(iter([1, 2, 3]))
        b = LazyList(iter([1, 3, 3]))

        Assert(a) < b
        Assert(b) > a

        Assert(LazyList([1, 2])) < [1, 2, 3]
        Assert(LazyList([1, 2, 3])) > [1, 2]
コード例 #26
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def boolean(self):
     Assert(bool(LazyList([]))) == False
     Assert(bool(LazyList([1]))) == True
コード例 #27
0
ファイル: sequences.py プロジェクト: hairesis/brownie
    def equals(self):
        Assert(LazyList(range(10))) == range(10)
        Assert(LazyList(range(10))) == LazyList(range(10))

        Assert(LazyList(range(10)) != range(10)) == False
        Assert(LazyList(range(10)) != range(10)) == False

        Assert(LazyList(range(10)) == range(20)) == False
        Assert(LazyList(range(10)) == LazyList(range(20))) == False

        Assert(LazyList(range(10))) != range(20)
        Assert(LazyList(range(10))) != range(20)

        l = LazyList(self._genrange(10))
        Assert(l == range(20)) == False
コード例 #28
0
ファイル: sequences.py プロジェクト: hairesis/brownie
 def pop(self):
     data = xrange(10)
     l = LazyList(data)
     Assert(l.pop()) == 9
     Assert(l.pop(0)) == 0