1# -*- coding: utf-8 -*- 2 3import os 4 5from mutagen.wavpack import WavPack, error as WavPackError 6from tests import TestCase, DATA_DIR 7 8 9class TWavPack(TestCase): 10 11 def setUp(self): 12 self.audio = WavPack(os.path.join(DATA_DIR, "silence-44-s.wv")) 13 14 def test_version(self): 15 self.failUnlessEqual(self.audio.info.version, 0x403) 16 17 def test_channels(self): 18 self.failUnlessEqual(self.audio.info.channels, 2) 19 20 def test_sample_rate(self): 21 self.failUnlessEqual(self.audio.info.sample_rate, 44100) 22 23 def test_length(self): 24 self.failUnlessAlmostEqual(self.audio.info.length, 3.68, 2) 25 26 def test_not_my_file(self): 27 self.failUnlessRaises( 28 WavPackError, WavPack, os.path.join(DATA_DIR, "empty.ogg")) 29 30 def test_pprint(self): 31 self.audio.pprint() 32 33 def test_mime(self): 34 self.failUnless("audio/x-wavpack" in self.audio.mime) 35 36 37class TWavPackNoLength(TestCase): 38 39 def setUp(self): 40 self.audio = WavPack(os.path.join(DATA_DIR, "no_length.wv")) 41 42 def test_version(self): 43 self.failUnlessEqual(self.audio.info.version, 0x407) 44 45 def test_channels(self): 46 self.failUnlessEqual(self.audio.info.channels, 2) 47 48 def test_sample_rate(self): 49 self.failUnlessEqual(self.audio.info.sample_rate, 44100) 50 51 def test_length(self): 52 self.failUnlessAlmostEqual(self.audio.info.length, 3.705, 3) 53 54 def test_pprint(self): 55 self.audio.pprint() 56 57 def test_mime(self): 58 self.failUnless("audio/x-wavpack" in self.audio.mime) 59