Files
picard/test/test_util_astrcmp.py
Wieland Hoffmann e624aa121c Make PicardTestCase the parent class of all tests
This brings the faketagger and, more importantly, settings reset to all of them.
2018-10-23 17:32:50 +02:00

37 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from test.picardtestcase import PicardTestCase
import unittest
from picard.util.astrcmp import astrcmp_py
try:
from picard.util.astrcmp import astrcmp_c
except ImportError:
astrcmp_c = None
class AstrcmpBase(object):
func = None
def test_astrcmp(self):
astrcmp = self.__class__.func
self.assertAlmostEqual(0.0, astrcmp(u"", u""))
self.assertAlmostEqual(0.0, astrcmp(u"a", u""))
self.assertAlmostEqual(0.0, astrcmp(u"", u"a"))
self.assertAlmostEqual(1.0, astrcmp(u"a", u"a"))
self.assertAlmostEqual(0.0, astrcmp(u"a", u"b"))
self.assertAlmostEqual(0.0, astrcmp(u"ab", u"ba"))
self.assertAlmostEqual(0.7083333333333333, astrcmp(u"The Great Gig in the Sky", u"Great Gig In The sky"))
class AstrcmpCTest(AstrcmpBase, PicardTestCase):
func = astrcmp_c
@unittest.skipIf(astrcmp_c is None, "The _astrcmp C extension module has not been compiled")
def test_astrcmp(self):
super().test_astrcmp()
class AstrcmpPyTest(AstrcmpBase, PicardTestCase):
func = astrcmp_py