From: Paul Brossier Date: Thu, 1 Nov 2018 21:33:39 +0000 (+0100) Subject: [tests] use _tools in test_note2midi X-Git-Tag: 0.4.9~71^2~43 X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=86deeed598562c628c4aa4453269bbdbc55f1389;p=aubio.git [tests] use _tools in test_note2midi --- diff --git a/python/tests/test_note2midi.py b/python/tests/test_note2midi.py index 3bbf1c87..60f5b539 100755 --- a/python/tests/test_note2midi.py +++ b/python/tests/test_note2midi.py @@ -4,8 +4,8 @@ from __future__ import unicode_literals from aubio import note2midi, freq2note, note2freq, float_type -from nose2.tools import params -import unittest +from numpy.testing import TestCase +from ._tools import parametrize, assert_raises list_of_known_notes = ( ( 'C-1', 0 ), @@ -44,29 +44,29 @@ list_of_unknown_notes = ( ( '2' ), ) -class note2midi_good_values(unittest.TestCase): +class Test_note2midi_good_values: - @params(*list_of_known_notes) + @parametrize('note, midi', list_of_known_notes) def test_note2midi_known_values(self, note, midi): " known values are correctly converted " - self.assertEqual ( note2midi(note), midi ) + assert note2midi(note) == midi - @params(*list_of_known_notes_with_unicode_issues) + @parametrize('note, midi', list_of_known_notes_with_unicode_issues) def test_note2midi_known_values_with_unicode_issues(self, note, midi): " known values are correctly converted, unless decoding is expected to fail" try: - self.assertEqual ( note2midi(note), midi ) + assert note2midi(note) == midi except UnicodeEncodeError as e: import sys strfmt = "len(u'\\U0001D12A') != 1, excpected decoding failure | {:s} | {:s} {:s}" strres = strfmt.format(e, sys.platform, sys.version) # happens with: darwin 2.7.10, windows 2.7.12 if len('\U0001D12A') != 1 and sys.version[0] == '2': - self.skipTest(strres + " | upgrade to Python 3 to fix") + skipTest(strres + " | upgrade to Python 3 to fix") else: raise -class note2midi_wrong_values(unittest.TestCase): +class note2midi_wrong_values(TestCase): def test_note2midi_missing_octave(self): " fails when passed only one character" @@ -104,12 +104,14 @@ class note2midi_wrong_values(unittest.TestCase): " fails when passed a note with a note name longer than expected" self.assertRaises(ValueError, note2midi, 'CB+-3') - @params(*list_of_unknown_notes) +class Test_note2midi_unknown_values: + + @parametrize('note', list_of_unknown_notes) def test_note2midi_unknown_values(self, note): " unknown values throw out an error " - self.assertRaises(ValueError, note2midi, note) + assert_raises(ValueError, note2midi, note) -class freq2note_simple_test(unittest.TestCase): +class freq2note_simple_test(TestCase): def test_freq2note_above(self): " make sure freq2note(441) == A4 " @@ -119,7 +121,7 @@ class freq2note_simple_test(unittest.TestCase): " make sure freq2note(439) == A4 " self.assertEqual("A4", freq2note(439)) -class note2freq_simple_test(unittest.TestCase): +class note2freq_simple_test(TestCase): def test_note2freq(self): " make sure note2freq('A3') == 220" @@ -133,5 +135,5 @@ class note2freq_simple_test(unittest.TestCase): self.assertLess(abs(note2freq("A4")-440), 1.e-12) if __name__ == '__main__': - import nose2 - nose2.main() + from unittest import main + main()