emmental/trackdb/test_stack.py

40 lines
1.0 KiB
Python
Raw Normal View History

# Copyright 2021 (c) Anna Schumaker.
from lib import tag
from . import stack
from . import tags
import unittest
class TestTagStack(unittest.TestCase):
def test_tag_stack_init(self):
s = stack.TagStack()
self.assertEqual(s.tags, [ ])
def test_tag_stack_pop(self):
s = stack.TagStack()
t1 = tag.Tag("Test")
t2 = tag.Tag("Test Two")
s.tags = [ t1, t2 ]
s.pop()
self.assertEqual(s.tags, [ t2 ])
s.pop()
self.assertEqual(s.tags, [ ])
def test_tag_stack_push(self):
s = stack.TagStack()
t1 = tag.Tag("Test")
t2 = tag.Tag("Test Two")
t1.current = 3
s.push(t1)
self.assertEqual(s.tags, [ t1 ])
self.assertEqual(t1.current, -1)
s.push(t2)
self.assertEqual(s.tags, [ t2, t1 ])
s.push(t1)
self.assertEqual(s.tags, [ t1, t2 ])
s.push(tags.User["Previous"])
self.assertEqual(s.tags, [ t1, t2 ])
s.push(tags.User["Collection"])
self.assertEqual(s.tags, [ ])