diff --git a/codecov.yml b/codecov.yml index 805f5187..0a7e08aa 100644 --- a/codecov.yml +++ b/codecov.yml @@ -22,5 +22,3 @@ parsers: loop: yes method: no macro: no - -# comment: false diff --git a/nw/common.py b/nw/common.py index 71aa4873..2d82290b 100644 --- a/nw/common.py +++ b/nw/common.py @@ -224,9 +224,9 @@ def fuzzyTime(secDiff): return "%d weeks ago" % int(round(secDiff/604800)) elif secDiff < 3888000: # 45 days return "a month ago" - elif secDiff < 31104000: # 360 days + elif secDiff < 29808000: # 345 days return "%d months ago" % int(round(secDiff/2592000)) - elif secDiff < 47304000: # 1.5 years + elif secDiff < 47336400: # 1.5 years return "a year ago" else: return "%d years ago" % int(round(secDiff/31557600)) diff --git a/tests/test_common.py b/tests/test_common.py index f2b895e2..94e384db 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -3,7 +3,10 @@ """ import pytest -from nw.common import checkString, checkBool, checkInt, colRange +from nw.common import ( + checkString, checkBool, checkInt, colRange, formatInt, transferCase, + fuzzyTime +) from nwtools import cmpList @pytest.mark.core @@ -62,3 +65,55 @@ def testColRange(): colRange([200, 50, 0], [50, 200, 0], 5), [[200, 50, 0], [162, 87, 0], [124, 124, 0], [86, 161, 0], [50, 200, 0]] ) + +@pytest.mark.core +def testFormatInt(): + assert formatInt(1000) == "1000" + assert formatInt(1234) == "1.23k" + assert formatInt(12345) == "12.3k" + assert formatInt(123456) == "123k" + assert formatInt(1234567) == "1.23M" + assert formatInt(12345678) == "12.3M" + assert formatInt(123456789) == "123M" + assert formatInt(1234567890) == "1.23G" + +@pytest.mark.core +def testTransferCase(): + assert transferCase(1, "TaRgEt") == "TaRgEt" + assert transferCase("source", 1) == 1 + assert transferCase("", "TaRgEt") == "TaRgEt" + assert transferCase("source", "") == "" + assert transferCase("Source", "target") == "Target" + assert transferCase("SOURCE", "target") == "TARGET" + assert transferCase("source", "TARGET") == "target" + +@pytest.mark.core +def testFuzzyTime(): + assert fuzzyTime(-1) == "in the future" + assert fuzzyTime(0) == "just now" + assert fuzzyTime(29) == "just now" + assert fuzzyTime(30) == "a minute ago" + assert fuzzyTime(89) == "a minute ago" + assert fuzzyTime(90) == "2 minutes ago" + assert fuzzyTime(149) == "2 minutes ago" + assert fuzzyTime(151) == "3 minutes ago" + assert fuzzyTime(3299) == "55 minutes ago" + assert fuzzyTime(3300) == "an hour ago" + assert fuzzyTime(5399) == "an hour ago" + assert fuzzyTime(5400) == "2 hours ago" + assert fuzzyTime(84599) == "23 hours ago" + assert fuzzyTime(84600) == "a day ago" + assert fuzzyTime(129599) == "a day ago" + assert fuzzyTime(129600) == "2 days ago" + assert fuzzyTime(561599) == "6 days ago" + assert fuzzyTime(561600) == "a week ago" + assert fuzzyTime(907199) == "a week ago" + assert fuzzyTime(907200) == "2 weeks ago" + assert fuzzyTime(2419199) == "4 weeks ago" + assert fuzzyTime(2419200) == "a month ago" + assert fuzzyTime(3887999) == "a month ago" + assert fuzzyTime(3888000) == "2 months ago" + assert fuzzyTime(29807999) == "11 months ago" + assert fuzzyTime(29808000) == "a year ago" + assert fuzzyTime(47336399) == "a year ago" + assert fuzzyTime(47336400) == "2 years ago"