Exemplo n.º 1
0
def test():
    from simpletest import _assert, _assert_raises
    a, b, c, d, e, f = 'abcdef'

    graph = {}
    _assert(topsort(graph), [])

    graph = {
        a: set([]),
    }
    _assert(topsort(graph), [a])

    graph = {
        a: set([d, b]),
        b: set([d, c]),
        c: set([d]),
        d: set([]),
        e: set([d]),
        f: set([d, e]),
    }
    _assert(topsort(graph), [d, c, b, a, e, f])

    graph = {
        a: set([b]),
        b: set([a]),
    }
    _assert_raises(Exception, topsort, graph)
Exemplo n.º 2
0
def test():
    from simpletest import _assert, _assert_raises
    llist = LinkedList()
    _assert(llist.head, None)
    _assert(llist.tail, None)
    llist.append('a')
    _assert(llist.index('a'), 0)
    _assert(llist.head.value, 'a')
    _assert(llist.tail.value, 'a')
    llist.append('b')
    _assert(llist.index('b'), 1)
    _assert(llist.head.value, 'a')
    _assert(llist.tail.value, 'b')
    llist.append('c')
    _assert(llist.index('c'), 2)
    _assert(llist.head.value, 'a')
    _assert(llist.tail.value, 'c')
    node = llist.pop()
    _assert_raises(ValueError, llist.index, 'c')
    _assert(llist.head.value, 'a')
    _assert(llist.tail.value, 'b')
    _assert(node.value, 'c')
    node = llist.pop()
    _assert(llist.head.value, 'a')
    _assert(llist.tail.value, 'a')
    _assert(node.value, 'b')
    node = llist.pop()
    _assert(llist.head, None)
    _assert(llist.tail, None)
    _assert(node.value, 'a')
    _assert_raises(IndexError, llist.pop)
    llist.append('a')
    llist.append('b')
    llist.append('c')
    for value, expected_value in zip(llist, 'abc'):
        _assert(value, expected_value)
    _assert(llist[0], 'a')
    _assert(llist[1], 'b')
    _assert(llist[2], 'c')
    node = llist.remove('b')
    _assert(node.value, 'b')
    node = llist.remove('c')
    node = llist.remove('a')
    _assert(llist.head, None)
    _assert(llist.tail, None)
    _assert_raises(IndexError, llist.__getitem__, 0)
    _assert_raises(IndexError, llist.__getitem__, 1)
    _assert_raises(TypeError, llist.__getitem__, 'expect int')
    simple_list = [1, 2, 3]
    llist = LinkedList([1, 2, 3])
    for value, expected_value in zip(llist, simple_list):
        _assert(value, expected_value)
    _assert(LinkedList(), LinkedList())
    _assert(LinkedList([]), LinkedList())
    _assert(LinkedList([1]), LinkedList([1]))
    _assert(LinkedList([None]), LinkedList([None]))
    _assert(LinkedList([None]) == LinkedList([]), False)
    _assert(LinkedList([1, 2]) == LinkedList([1, None]), False)
    _assert(LinkedList([None]) == LinkedList([None, None]), False)
Exemplo n.º 3
0
def test():
    from simpletest import _assert, _assert_raises
    gm = CarCompany()
    detroit_factory = gm.create_factory()
    _assert(detroit_factory.next(), "wrrrooommm... a brand new car rolled out!")
    _assert(detroit_factory.next(), "wrrrooommm... a brand new car rolled out!")
    gm.has_money = False
    # No money, no cars
    _assert_raises(StopIteration, detroit_factory.next)
    gm.has_money = True
    # There's money but the factory collapsed.
    _assert_raises(StopIteration, detroit_factory.next)