trackdb: Give TrackAllocators a len() function
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
c5e317b737
commit
eb6eb0180b
|
@ -28,6 +28,10 @@ class TrackAllocator:
|
|||
return { "tracks" : self.tracks,
|
||||
"nextid" : self.nextid }
|
||||
|
||||
def __len__(self):
|
||||
with self.lock:
|
||||
return len(self.tracks)
|
||||
|
||||
def __setstate__(self, state):
|
||||
self.__dict__.update(state)
|
||||
self.lock = threading.Lock()
|
||||
|
|
|
@ -36,6 +36,7 @@ class TestTrackAllocator(unittest.TestCase):
|
|||
track = alloc.allocate(lib, test_tracks / "01 - Test Track.ogg")
|
||||
self.assertEqual(alloc.tracks[0], track)
|
||||
self.assertEqual(alloc[0], track)
|
||||
self.assertEqual(len(alloc), 1)
|
||||
self.assertEqual(alloc.nextid, 1)
|
||||
self.assertEqual(track.trackid, 0)
|
||||
self.assertEqual(self.added, track)
|
||||
|
@ -43,6 +44,7 @@ class TestTrackAllocator(unittest.TestCase):
|
|||
track2 = alloc.allocate(lib, test_tracks / "02 - Test {Disc 2}.ogg")
|
||||
self.assertEqual(alloc.tracks[1], track2)
|
||||
self.assertEqual(alloc[1], track2)
|
||||
self.assertEqual(len(alloc), 2)
|
||||
|
||||
self.assertIsNone(alloc.allocate(lib, test_tracks / "No Such File"))
|
||||
self.assertEqual(self.added, track2)
|
||||
|
|
Loading…
Reference in New Issue