emmental/lib/test_tag.py

61 lines
1.7 KiB
Python
Raw Normal View History

# Copyright 2021 (c) Anna Schumaker.
from . import tag
import threading
import unittest
class TestTag(unittest.TestCase):
def test_tag_init(self):
t = tag.Tag("test")
self.assertEqual(t.name, "test")
self.assertEqual(t.tracks, [ ])
self.assertIsNone(t.widgets)
self.assertIsInstance(t.lock, type(threading.Lock()))
self.assertEqual(str(t), "test")
def test_tag_len(self):
t = tag.Tag("Test")
self.assertEqual(len(t), 0)
t.tracks = [ 1, 2, 3, 4, 5 ]
self.assertEqual(len(t), 5)
def test_tag_lt(self):
a = tag.Tag("A")
b = tag.Tag("B")
self.assertTrue( a < b)
self.assertFalse(b < a)
self.assertFalse(a < a)
def test_tag_state(self):
t = tag.Tag("test")
t.tracks = [ 1, 2, 3, 4, 5 ]
state = t.__getstate__()
self.assertEqual(set(state.keys()), set([ "name", "tracks" ]))
self.assertEqual(state["name"], "test")
self.assertEqual(state["tracks"], [ 1, 2, 3, 4, 5 ])
t.__dict__.clear()
t.__setstate__(state)
self.assertEqual(t.name, "test")
self.assertEqual(t.tracks, [ 1, 2, 3, 4, 5 ])
self.assertEqual(t.widgets, None)
self.assertIsInstance(t.lock, type(threading.Lock()))
def test_tag_add_track(self):
t = tag.Tag("test")
t.add_track(1)
self.assertEqual(t.tracks, [ 1 ])
t.add_track(2)
self.assertEqual(t.tracks, [ 1, 2 ])
def test_tag_remove_track(self):
t = tag.Tag("test")
t.tracks = [ 1, 2 ]
t.remove_track(1)
self.assertEqual(t.tracks, [ 2 ])
t.remove_track(2)
self.assertEqual(t.tracks, [ ])