Ejemplo n.º 1
0
 def test_compare_to_release(self):
     release = load_test_json('release.json')
     metadata = Metadata()
     release_to_metadata(release, metadata)
     match = metadata.compare_to_release(release, Cluster.comparison_weights)
     self.assertEqual(1.0, match.similarity)
     self.assertEqual(release, match.release)
Ejemplo n.º 2
0
 def test_compare_to_track(self):
     track_json = load_test_json('track.json')
     track = Track(track_json['id'])
     track_to_metadata(track_json, track)
     match = track.metadata.compare_to_track(track_json, File.comparison_weights)
     self.assertEqual(1.0, match.similarity)
     self.assertEqual(track_json, match.track)
Ejemplo n.º 3
0
 def test_compare_to_track_with_score(self):
     track_json = load_test_json('track.json')
     track = Track(track_json['id'])
     track_to_metadata(track_json, track)
     for score, sim in ((42, 0.42), ('42', 0.42), ('foo', 1.0), (None, 1.0)):
         track_json['score'] = score
         match = track.metadata.compare_to_track(track_json, File.comparison_weights)
         self.assertEqual(sim, match.similarity)
Ejemplo n.º 4
0
 def test_compare_to_release_with_score(self):
     release = load_test_json('release.json')
     metadata = Metadata()
     release_to_metadata(release, metadata)
     for score, sim in ((42, 0.42), ('42', 0.42), ('foo', 1.0), (None, 1.0)):
         release['score'] = score
         match = metadata.compare_to_release(release, Cluster.comparison_weights)
         self.assertEqual(sim, match.similarity)
Ejemplo n.º 5
0
 def test_preferred_formats(self):
     release = load_test_json('release.json')
     parts = []
     weights_from_preferred_formats(parts, release, [], 777)
     self.assertFalse(parts)
     weights_from_preferred_formats(parts, release, ['Digital Media'], 777)
     self.assertEqual(parts[0], (0.0, 777))
     weights_from_preferred_formats(parts, release, ['12" Vinyl'], 777)
     self.assertEqual(parts[1], (1.0, 777))
Ejemplo n.º 6
0
 def test_compare_to_release_parts_totalalbumtracks_totaltracks_fallback(self):
     release = load_test_json('release_multidisc.json')
     metadata = Metadata()
     weights = {"totalalbumtracks": 30}
     release_to_metadata(release, metadata)
     for totaltracks, sim in ((7, 1.0), (6, 0.3), (8, 0.0)):
         metadata['totaltracks'] = totaltracks
         parts = metadata.compare_to_release_parts(release, weights)
         self.assertIn((sim, 30), parts)
Ejemplo n.º 7
0
 def test_preferred_countries(self):
     release = load_test_json('release.json')
     parts = []
     weights_from_preferred_countries(parts, release, [], 666)
     self.assertFalse(parts)
     weights_from_preferred_countries(parts, release, ['FR'], 666)
     self.assertEqual(parts[0], (0.0, 666))
     weights_from_preferred_countries(parts, release, ['GB'], 666)
     self.assertEqual(parts[1], (1.0, 666))
Ejemplo n.º 8
0
 def test_2(self):
     self.set_config_values(settings)
     rlist = load_test_json('release_group_3.json')
     r = ReleaseGroup(1)
     r._parse_versions(rlist)
     self.assertEqual(r.versions[0]['name'],
                      '5 / 2011 / FR / CD / label A / cat 123 / special A')
     self.assertEqual(r.versions[1]['name'],
                      '5 / 2011 / FR / CD / label A / cat 123')
Ejemplo n.º 9
0
 def test_3(self):
     config.setting = settings.copy()
     rlist = load_test_json('release_group_4.json')
     r = ReleaseGroup(1)
     r._parse_versions(rlist)
     self.assertEqual(r.versions[0]['name'],
                      '5 / 2009 / FR / CD / label A / cat 123 / 0123456789')
     self.assertEqual(r.versions[1]['name'],
                      '5 / 2009 / FR / CD / label A / cat 123 / [no barcode]')
Ejemplo n.º 10
0
 def test_weights_from_release_type_scores(self):
     release = load_test_json('release.json')
     parts = []
     weights_from_release_type_scores(parts, release, {'Album': 0.75}, 666)
     self.assertEqual(parts[0], (0.75, 666))
     weights_from_release_type_scores(parts, release, {}, 666)
     self.assertEqual(parts[1], (0.5, 666))
     del release['release-group']
     weights_from_release_type_scores(parts, release, {}, 777)
     self.assertEqual(parts[2], (0.0, 777))
Ejemplo n.º 11
0
 def test_1(self):
     config.setting = settings.copy()
     rlist = load_test_json('release_group_2.json')
     r = ReleaseGroup(1)
     r._parse_versions(rlist)
     self.assertEqual(r.versions[0]['name'],
                      '5 / 2009 / GB / CD / label A / cat 123 / Jewel Case / special')
     self.assertEqual(r.versions[1]['name'],
                      '5 / 2009 / GB / CD / label A / cat 123 / Digipak / special')
     self.assertEqual(r.versions[2]['name'],
                      '5 / 2009 / GB / CD / label A / cat 123 / Digipak / specialx')
Ejemplo n.º 12
0
 def init_test(self, filename):
     config.setting = settings.copy()
     self.json_doc = load_test_json(filename)
Ejemplo n.º 13
0
 def init_test(self, filename):
     self.set_config_values(settings)
     self.json_doc = load_test_json(filename)