From 4f4160d33267ee7b6ff7386cdcdc6064a315b82a Mon Sep 17 00:00:00 2001 From: Eli Schwartz <eschwartz@gentoo.org> Date: Thu, 28 Nov 2024 23:43:34 -0500 Subject: [PATCH] migrate testsuite to pytest nose is deprecated and abandoned and doesn't work on modern python versions. It isn't packaged by distros and installing it successfully installs a broken "nosetests" command that doesn't work with python 3.10 and on. pytest has automatic support for sugaring asserts without special syntax, and automatic support for not treating non-test functions as tests. It works great and without any effort. Let's use it. :) Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> --- test_jaconv.py | 95 ++++++++++++++++++++++++-------------------------- 1 file changed, 45 insertions(+), 50 deletions(-) diff --git a/test_jaconv.py b/test_jaconv.py index 7e0a169406e70513f08deed8806b0946e1578b4d..b3ddd10ee25e6e67c0d9cee97e95bd18b387d609 100644 --- a/test_jaconv.py +++ b/test_jaconv.py @@ -1,10 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from nose.tools import assert_equal, nottest import jaconv from functools import partial -assert_equal.__self__.maxDiff = None HIRAGANA = ('ãã‚ãƒã„ã…ã†ã‡ãˆã‰ãŠã‹ãŒããŽããã‘ã’ã“ã”ã•ã–ã—ã˜ã™ãšã›ãœããžãŸ', 'ã ã¡ã¢ã£ã¤ã¥ã¦ã§ã¨ã©ãªã«ã¬ãã®ã¯ã°ã±ã²ã³ã´ãµã¶ã·ã¸ã¹ãºã»ã¼ã½ã¾', @@ -25,13 +23,11 @@ FULL_DIGIT = 'ï¼ï¼‘23456789' -@nottest def _compare(mathod, lhs, rhs): for i in range(len(lhs)): - assert_equal(mathod(lhs[i]), rhs[i]) + assert mathod(lhs[i]) == rhs[i] -@nottest def _concat(*iterables): result = '' for iterable in iterables: @@ -40,26 +36,26 @@ def _concat(*iterables): def test_hira2kata(): - assert_equal(jaconv.hira2kata('ã¨ã‚‚ãˆã¾ã¿'), 'トモエマミ') - assert_equal(jaconv.hira2kata('ã¾ã©ã¾ãŽ', ignore='ã©'), 'マã©ãƒžã‚®') + assert jaconv.hira2kata('ã¨ã‚‚ãˆã¾ã¿') == 'トモエマミ' + assert jaconv.hira2kata('ã¾ã©ã¾ãŽ', ignore='ã©') == 'マã©ãƒžã‚®' _compare(jaconv.hira2kata, HIRAGANA, FULL_KANA) def test_hira2hkata(): - assert_equal(jaconv.hira2hkata('ã¨ã‚‚ãˆã¾ã¿'), 'トモエï¾ï¾') - assert_equal(jaconv.hira2hkata('ã¨ã‚‚ãˆã¾ã¿', ignore='ã¿'), 'トモエï¾ã¿') + assert jaconv.hira2hkata('ã¨ã‚‚ãˆã¾ã¿') == 'トモエï¾ï¾' + assert jaconv.hira2hkata('ã¨ã‚‚ãˆã¾ã¿', ignore='ã¿') == 'トモエï¾ã¿' _compare(jaconv.hira2hkata, HIRAGANA, HALF_KANA) def test_kata2hira(): - assert_equal(jaconv.kata2hira('巴マミ'), 'å·´ã¾ã¿') - assert_equal(jaconv.kata2hira('マミサン', ignore='ン'), 'ã¾ã¿ã•ãƒ³') + assert jaconv.kata2hira('巴マミ') == 'å·´ã¾ã¿' + assert jaconv.kata2hira('マミサン', ignore='ン') == 'ã¾ã¿ã•ãƒ³' _compare(jaconv.kata2hira, FULL_KANA, HIRAGANA) def test_h2z(): - assert_equal(jaconv.h2z('ティロフィナーレ'), 'ティãƒãƒ•ã‚£ãƒŠãƒ¼ãƒ¬') - assert_equal(jaconv.h2z('ティロフィナーレ', ignore='ィ'), 'ティãƒãƒ•ï½¨ãƒŠãƒ¼ãƒ¬') + assert jaconv.h2z('ティロフィナーレ') == 'ティãƒãƒ•ã‚£ãƒŠãƒ¼ãƒ¬' + assert jaconv.h2z('ティロフィナーレ', ignore='ィ') == 'ティãƒãƒ•ï½¨ãƒŠãƒ¼ãƒ¬' _compare(jaconv.h2z, HALF_KANA, FULL_KANA) _compare(partial(jaconv.h2z, ascii=True), HALF_ASCII, FULL_ASCII) _compare(partial(jaconv.h2z, digit=True), HALF_DIGIT, FULL_DIGIT) @@ -75,12 +71,12 @@ def test_h2z(): FULL_DIGIT, FULL_DIGIT if digit else HALF_DIGIT) converted = jaconv.h2z(before, ascii=ascii, digit=digit, kana=kana) - assert_equal(converted, after) + assert converted == after def test_z2h(): - assert_equal(jaconv.z2h('ティãƒãƒ•ã‚£ãƒŠãƒ¼ãƒ¬'), 'ティロフィナーレ') - assert_equal(jaconv.z2h('ティãƒãƒ•ã‚£ãƒŠãƒ¼ãƒ¬', ignore='ã‚£'), 'ティロフィナーレ') + assert jaconv.z2h('ティãƒãƒ•ã‚£ãƒŠãƒ¼ãƒ¬') == 'ティロフィナーレ' + assert jaconv.z2h('ティãƒãƒ•ã‚£ãƒŠãƒ¼ãƒ¬', ignore='ã‚£') == 'ティロフィナーレ' _compare(partial(jaconv.z2h, kana=True), FULL_KANA, HALF_KANA) _compare(partial(jaconv.z2h, ascii=True), FULL_ASCII, HALF_ASCII) _compare(partial(jaconv.z2h, digit=True), FULL_DIGIT, HALF_DIGIT) @@ -96,51 +92,50 @@ def test_z2h(): HALF_DIGIT if digit else FULL_DIGIT, HALF_DIGIT) converted = jaconv.z2h(before, ascii=ascii, digit=digit, kana=kana) - assert_equal(converted, after) + assert converted == after def test_normalize(): - assert_equal(jaconv.normalize('ティロ・フィナ〜レ', 'NFKC'), 'ティãƒãƒ»ãƒ•ã‚£ãƒŠãƒ¼ãƒ¬') - assert_equal(jaconv.normalize(_concat(HALF_KANA, FULL_DIGIT), 'NFKC'), - ''.join(FULL_KANA)+''.join(HALF_DIGIT)) + assert jaconv.normalize('ティロ・フィナ〜レ', 'NFKC') == 'ティãƒãƒ»ãƒ•ã‚£ãƒŠãƒ¼ãƒ¬' + assert jaconv.normalize(_concat(HALF_KANA, FULL_DIGIT), 'NFKC') == ''.join(FULL_KANA)+''.join(HALF_DIGIT) def test_kana2alphabet(): - assert_equal(jaconv.kana2alphabet('ã¾ã¿ã•ã‚“'), 'mamisan') - assert_equal(jaconv.kana2alphabet('ã¯ã£ã¨ã‚Š'), 'hattori') - assert_equal(jaconv.kana2alphabet('ã¯ã£'), 'haxtsu') - assert_equal(jaconv.kana2alphabet('ã½ã£'), 'poxtsu') - assert_equal(jaconv.kana2alphabet('ãµããµãƒãµã‡ãµã‰'), 'fafifefo') - assert_equal(jaconv.kana2alphabet('ã£ã£ã¦'), 'xtsutte') + assert jaconv.kana2alphabet('ã¾ã¿ã•ã‚“') == 'mamisan' + assert jaconv.kana2alphabet('ã¯ã£ã¨ã‚Š') == 'hattori' + assert jaconv.kana2alphabet('ã¯ã£') == 'haxtsu' + assert jaconv.kana2alphabet('ã½ã£') == 'poxtsu' + assert jaconv.kana2alphabet('ãµããµãƒãµã‡ãµã‰') == 'fafifefo' + assert jaconv.kana2alphabet('ã£ã£ã¦') == 'xtsutte' def test_alphabet2kana(): - assert_equal(jaconv.alphabet2kana('mamisan'), 'ã¾ã¿ã•ã‚“') - assert_equal(jaconv.alphabet2kana('doggu doguu'), 'ã©ã£ã ã©ãã†') - assert_equal(jaconv.alphabet2kana('botchi'), 'ã¼ã£ã¡') - assert_equal(jaconv.alphabet2kana('fainarufantaji-'), 'ãµãã„ãªã‚‹ãµãã‚“ãŸã˜ãƒ¼') - assert_equal(jaconv.alphabet2kana('atsui'), 'ã‚ã¤ã„') - assert_equal(jaconv.alphabet2kana('itoh'), 'ã„ã¨ã†') - assert_equal(jaconv.alphabet2kana('ohtaku'), 'ãŠãŠãŸã') - assert_equal(jaconv.alphabet2kana('namba'), 'ãªã‚“ã°') + assert jaconv.alphabet2kana('mamisan') == 'ã¾ã¿ã•ã‚“' + assert jaconv.alphabet2kana('doggu doguu') == 'ã©ã£ã ã©ãã†' + assert jaconv.alphabet2kana('botchi') == 'ã¼ã£ã¡' + assert jaconv.alphabet2kana('fainarufantaji-') == 'ãµãã„ãªã‚‹ãµãã‚“ãŸã˜ãƒ¼' + assert jaconv.alphabet2kana('atsui') == 'ã‚ã¤ã„' + assert jaconv.alphabet2kana('itoh') == 'ã„ã¨ã†' + assert jaconv.alphabet2kana('ohtaku') == 'ãŠãŠãŸã' + assert jaconv.alphabet2kana('namba') == 'ãªã‚“ã°' def test_alphabet2julius(): - assert_equal(jaconv.hiragana2julius('ã¦ã‚“ã'), 't e N k i') - assert_equal(jaconv.hiragana2julius('ã‚„ã£ãŸãƒ¼'), 'y a q t a:') - assert_equal(jaconv.hiragana2julius('ã‹ã‚ã„ã„ã„ã„ã„'), 'k a w a i:') - assert_equal(jaconv.hiragana2julius('ã‚„ã‚ã†ãœ'), 'y a r o: z e') - assert_equal(jaconv.hiragana2julius('ã¦ã‚“ãã™ã”ãã„ã„ã„ã„ã„ã„'), 't e N k i s u g o k u i:') + assert jaconv.hiragana2julius('ã¦ã‚“ã') == 't e N k i' + assert jaconv.hiragana2julius('ã‚„ã£ãŸãƒ¼') == 'y a q t a:' + assert jaconv.hiragana2julius('ã‹ã‚ã„ã„ã„ã„ã„') == 'k a w a i:' + assert jaconv.hiragana2julius('ã‚„ã‚ã†ãœ') == 'y a r o: z e' + assert jaconv.hiragana2julius('ã¦ã‚“ãã™ã”ãã„ã„ã„ã„ã„ã„') == 't e N k i s u g o k u i:' def test_enlargesmallkana(): - assert_equal(jaconv.enlargesmallkana('ã‚ュゥã¹ãˆ'), 'ã‚ユウã¹ãˆ') - assert_equal(jaconv.enlargesmallkana('ã—ゃãˆã„'), 'ã—ã‚„ãˆã„') - assert_equal(jaconv.enlargesmallkana('ã—ã‚…ã¿'), 'ã—ゆã¿') - assert_equal(jaconv.enlargesmallkana('ãょã†ã„ã£ã±ã„'), 'ãよã†ã„ã¤ã±ã„') - assert_equal(jaconv.enlargesmallkana('霞ヶ関'), '霞ケ関') - assert_equal(jaconv.enlargesmallkana('一ヵ月'), '一カ月') - assert_equal(jaconv.enlargesmallkana('シャトー'), 'シヤトー') - assert_equal(jaconv.enlargesmallkana('ãƒãƒ¥ãƒ¼ãƒªãƒƒãƒ—'), 'ãƒãƒ¦ãƒ¼ãƒªãƒ„プ') - assert_equal(jaconv.enlargesmallkana('ショート'), 'シヨート') - assert_equal(jaconv.enlargesmallkana('ãょã†ã„ã£ã±ã„', 'ã£'), 'ãよã†ã„ã£ã±ã„') - assert_equal(jaconv.enlargesmallkana('ãょã†ã„ã£ã±ã„', 'ょã£'), 'ãょã†ã„ã£ã±ã„') + assert jaconv.enlargesmallkana('ã‚ュゥã¹ãˆ') == 'ã‚ユウã¹ãˆ' + assert jaconv.enlargesmallkana('ã—ゃãˆã„') == 'ã—ã‚„ãˆã„' + assert jaconv.enlargesmallkana('ã—ã‚…ã¿') == 'ã—ゆã¿' + assert jaconv.enlargesmallkana('ãょã†ã„ã£ã±ã„') == 'ãよã†ã„ã¤ã±ã„' + assert jaconv.enlargesmallkana('霞ヶ関') == '霞ケ関' + assert jaconv.enlargesmallkana('一ヵ月') == '一カ月' + assert jaconv.enlargesmallkana('シャトー') == 'シヤトー' + assert jaconv.enlargesmallkana('ãƒãƒ¥ãƒ¼ãƒªãƒƒãƒ—') == 'ãƒãƒ¦ãƒ¼ãƒªãƒ„プ' + assert jaconv.enlargesmallkana('ショート') == 'シヨート' + assert jaconv.enlargesmallkana('ãょã†ã„ã£ã±ã„', 'ã£') == 'ãよã†ã„ã£ã±ã„' + assert jaconv.enlargesmallkana('ãょã†ã„ã£ã±ã„', 'ょã£') == 'ãょã†ã„ã£ã±ã„'