40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
|
# 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, [ ])
|