emmental/curds/test_trak.py
Anna Schumaker e73416a2e1 curds: Replace new-track notification with TrackAdded publisher
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2020-11-15 17:43:07 -05:00

47 lines
1.3 KiB
Python

# Copyright 2019 (c) Anna Schumaker.
from . import data
from . import notify
from . import trak
from . import threadqueue
import os
import pathlib
import trackdb
import unittest
test_path = pathlib.Path("./trier")
test_library = pathlib.Path("./trier/Test Library")
test_tracks = pathlib.Path("./trier/Test Album")
class TestTags(unittest.TestCase):
def setUp(self):
notify.clear()
trak.reset()
self.new_track = None
self.lib = trackdb.add_path(test_path)
def on_new_track(self, track, lib):
self.new_track = track
def test_trak_init(self):
self.assertFalse(trak.trak_lock.locked())
self.assertEqual(trak.trak_db, { })
def test_trak_lookup(self):
trackdb.library.TrackAdded.register(self.on_new_track)
path = test_tracks / "01 - Test Track.ogg"
track = trak.lookup(path, self.lib)
self.assertEqual(track.filepath, pathlib.Path(path))
self.assertEqual(self.new_track, track)
self.new_track = None
self.assertEqual(trak.lookup(path, self.lib), track)
self.assertEqual(self.new_track, None)
self.assertIsNone(trak.lookup(test_tracks / "test.txt", self.lib))
def test_trak_reset(self):
trak.trak_db = { 1 : "a", 2 : "b", 3 : "c" }
trak.reset()
self.assertEqual(trak.trak_db, { })