def testArtistRatingPickle(self): Factories.clear() trackA= TrackFactory.get(self.artist, self.titleA) trackB = TrackFactory.get(self.artist, self.titleB) artist = trackA.artist trackA.played() trackB.skipped() rating = artist.rating i = 0 for r in RatingFactory.ratings(): i+=1 # track init rating: 1 # artist init rating: 2 # track play rating: 3 # artist play rating: 4 # track skip rating: 5 # artist skip rating: 6 self.assertEqual(i, 6) state = pickle.dumps(Factories.getstate()) Factories.clear() pickle.loads(state) i = 0 for r in RatingFactory.ratings(): i+=1 self.assertEqual(i, 6) track = TrackFactory.get(self.artist, self.titleA) artist = track.artist self.assertEqual(artist.rating, rating)
def testTrackClear(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track.test = self.track_test self.assertEqual(track.test, self.track_test) Factories.clear() track = TrackFactory.get(self.artist, self.title) self.assertEqual(track.test, None)
def testArtistRatingClear(self): Factories.clear() track = TrackFactory.get(self.artist, self.titleA) track.played() track.skipped() Factories.clear() track = TrackFactory.get(self.artist, self.titleA) artist = track.artist self.assertEqual(artist.rating, 0.5)
def testRatingClear(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track.played() track.skipped() Factories.clear() track = TrackFactory.get(self.artist, self.title) self.assertEqual(track.ratingref.playcount, 0) self.assertEqual(track.ratingref.skipcount, 0)
def testTrackRef(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track.test = self.track_test track.artist.test = self.artist_test trackRef = TrackFactory.get(self.artist, self.title) self.assertEqual(trackRef.title, self.title) self.assertEqual(trackRef.test, self.track_test) self.assertEqual(trackRef.artist.name, self.artist) self.assertEqual(trackRef.artist.test, self.artist_test)
def testRatingRef(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track1 = TrackFactory.get(self.artist, self.title) track.played() track.skipped() self.assertEqual(track1.ratingref.stable, 0.5) track.played(0.5) track.skipped(0.5) self.assertEqual(track1.ratingref.playcount, 1) self.assertEqual(track1.ratingref.skipcount, 1) self.assertEqual(track1.ratingref.playfactor, 1.5) self.assertEqual(track1.ratingref.skipfactor, 1.5)
def testRatingRef2(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track2 = TrackFactory.get(self.artist2, self.title2) track.played() track.skipped() track.played(0.5) track.skipped(0.5) track.ratingref.test = self.rating_test track2.played() track2.skipped() track2.played(0.5) self.assertNotEqual(track.ratingref.test, track2.ratingref.test) track2.skipped(0.5) self.assertEqual(track.ratingref.test, track2.ratingref.test)
def testRatingPickle(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track.played() track.skipped() track.played(0.5) track.skipped(0.5) track.ratingref.test = self.rating_test state = pickle.dumps(Factories.getstate()) Factories.clear() pickle.loads(state) track = TrackFactory.get(self.artist, self.title) self.assertEqual(track.ratingref.playcount, 1) self.assertEqual(track.ratingref.skipcount, 1) self.assertEqual(track.ratingref.playfactor, 1.5) self.assertEqual(track.ratingref.skipfactor, 1.5) self.assertEqual(track.ratingref.test, self.rating_test)
def testArtistRating(self): Factories.clear() track = TrackFactory.get(self.artist, self.titleA) track.ratingref.mix = 1.0 artist = track.artist artist.ratingref.mix = 1.0 artist.ratingfactor = 1.0 track.played() self.assertNotEqual(track.rating, 0.5) self.assertNotEqual(artist.rating, 0.5) track.skipped() self.assertEqual(track.rating, 0.5) self.assertEqual(artist.rating, 0.5)
def testTrackPickle(self): Factories.clear() track = TrackFactory.get(self.artist, self.title) track.test = self.track_test track.artist.test = self.artist_test state = pickle.dumps(Factories.getstate()) Factories.clear() pickle.loads(state) self.assertEqual(track.title, self.title) self.assertEqual(track.test, self.track_test) self.assertEqual(track.artist.name, self.artist) self.assertEqual(track.artist.test, self.artist_test)
def __init__(self, path, artist_name, track_title): self.path = path self.track = TrackFactory.get(artist_name, track_title)