From b1b5803c20bc10074fadfe9ef927294eb7a34f40 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Fri, 14 Mar 2014 10:25:25 -0400 Subject: [PATCH] Fixed bogus word merge in english Also, added a first unit test. Gotta start somewhere. Fixes #8. --- num2words/lang_EN.py | 2 +- setup.py | 1 + tests/__init__.py | 0 tests/test_en.py | 23 +++++++++++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 tests/__init__.py create mode 100644 tests/test_en.py diff --git a/num2words/lang_EN.py b/num2words/lang_EN.py index a73c893..54646f5 100644 --- a/num2words/lang_EN.py +++ b/num2words/lang_EN.py @@ -49,7 +49,7 @@ class Num2Word_EN(lang_EU.Num2Word_EU): def merge(self, (ltext, lnum), (rtext, rnum)): if lnum == 1 and rnum < 100: - return (rtext, rnum + lnum) + return (rtext, rnum) elif 100 > lnum > rnum : return ("%s-%s"%(ltext, rtext), lnum + rnum) elif lnum >= 100 > rnum: diff --git a/setup.py b/setup.py index bdba4b0..23bbb42 100644 --- a/setup.py +++ b/setup.py @@ -27,5 +27,6 @@ setup( keywords=' number word numbers words convert conversion i18n localisation localization internationalisation internationalization', url='https://github.com/savoirfairelinux/num2words', packages=find_packages(), + test_suite='tests', use_2to3=True, ) diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_en.py b/tests/test_en.py new file mode 100644 index 0000000..20eb294 --- /dev/null +++ b/tests/test_en.py @@ -0,0 +1,23 @@ +# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +from unittest import TestCase + +from num2words import num2words + +class Num2WordsENTest(TestCase): + def test_and_join_199(self): + # ref https://github.com/savoirfairelinux/num2words/issues/8 + self.assertEqual(num2words(199), "one hundred and ninety-nine")