def test_linkedlist(self): items = map(LinkableItem, range(5)) l = LinkedList(items) foo, bar, head, tail = map(LinkableItem, ["foo", "bar", "head", "tail"]) five = LinkableItem(5) l.insert_before(foo, items[2]) l.insert_after(bar, items[2]) l.insert_before(head, items[0]) l.append(five) l.insert_after(tail, five) l.remove(items[4]) expected = ["head", 0, 1, "foo", 2, "bar", 3, 5, "tail"] self.assertEqual(list(l), list(map(LinkableItem, expected)))
def __init__(self, name, argnames, type, temper=None): self.module = None self.name = name self.type = type self.temp = temper or make_temper() self.blocks = LinkedList() self.blockmap = dict((block.name, block) for block in self.blocks) self.argnames = argnames self.argdict = {} self.uses = defaultdict(set) # reserve names for argname in argnames: self.temp(argname)
def test_linkedlist(self): items = [LinkableItem(i) for i in range(5)] l = LinkedList(items) foo, bar, head, tail = map(LinkableItem, ["foo", "bar", "head", "tail"]) five = LinkableItem(5) l.insert_before(foo, items[2]) l.insert_after(bar, items[2]) l.insert_before(head, items[0]) l.append(five) l.insert_after(tail, five) l.remove(items[4]) expected = ["head", 0, 1, "foo", 2, "bar", 3, 5, "tail"] expected = [LinkableItem(x) for x in expected] got = list(l) self.assertEqual(got, expected)
def __init__(self, name, parent=None, ops=None): self.name = name self.parent = parent self.ops = LinkedList(ops or [])