Chronyk icon indicating copy to clipboard operation
Chronyk copied to clipboard

Tests fail

Open MartinThoma opened this issue 8 years ago • 2 comments

See

$ python test_chronyk.py 
========================================================================= test session starts ==========================================================================
platform linux2 -- Python 2.7.10, pytest-2.8.5, py-1.4.31, pluggy-0.3.1
rootdir: /home/moose/GitHub/chr/Chronyk, inifile: 
collected 72 items 

test_chronyk.py .F.................FF.FFFF......................F..FFFF..........FFFFF.F

=============================================================================== FAILURES ===============================================================================
____________________________________________________________________________ test_guesstype ____________________________________________________________________________

    def test_guesstype():
>       assert guesstype(9001) == Chronyk(9001)
E       assert Chronyk(1970-01-01 04:30:01) == Chronyk(1970-01-01 04:30:01)
E        +  where Chronyk(1970-01-01 04:30:01) = guesstype(9001)
E        +  and   Chronyk(1970-01-01 04:30:01) = Chronyk(9001)

test_chronyk.py:21: AssertionError
_______________________________________________________________________ test_relative_seconds_1 ________________________________________________________________________

    def test_relative_seconds_1():
>       assert Chronyk("2 seconds ago").relativestring() == "just now"
E       assert 'in 1 hour' == 'just now'
E         - in 1 hour
E         + just now

test_chronyk.py:97: AssertionError
_______________________________________________________________________ test_relative_seconds_2 ________________________________________________________________________

    def test_relative_seconds_2():
>       assert Chronyk("in 5 seconds").relativestring() == "just now"
E       assert 'in 1 hour' == 'just now'
E         - in 1 hour
E         + just now

test_chronyk.py:100: AssertionError
_______________________________________________________________________ test_relative_minutes_1 ________________________________________________________________________

    def test_relative_minutes_1():
>       assert Chronyk("1 minute ago").relativestring() == "1 minute ago"
E       assert 'in 1 hour' == '1 minute ago'
E         - in 1 hour
E         + 1 minute ago

test_chronyk.py:107: AssertionError
_______________________________________________________________________ test_relative_minutes_2 ________________________________________________________________________

    def test_relative_minutes_2():
>       assert Chronyk("in 2 minutes").relativestring() == "in 2 minutes"
E       assert 'in 1 hour' == 'in 2 minutes'
E         - in 1 hour
E         + in 2 minutes

test_chronyk.py:110: AssertionError
________________________________________________________________________ test_relative_hours_1 _________________________________________________________________________

    def test_relative_hours_1():
>       assert Chronyk("1 hour ago").relativestring() == "1 hour ago"
E       assert 'just now' == '1 hour ago'
E         - just now
E         + 1 hour ago

test_chronyk.py:113: AssertionError
________________________________________________________________________ test_relative_hours_2 _________________________________________________________________________

    def test_relative_hours_2():
>       assert Chronyk("in 2 hours").relativestring() == "in 2 hours"
E       assert 'in 3 hours' == 'in 2 hours'
E         - in 3 hours
E         ?    ^
E         + in 2 hours
E         ?    ^

test_chronyk.py:116: AssertionError
__________________________________________________________________________ test_operators_eq ___________________________________________________________________________

    def test_operators_eq():
        timest = time.time()
>       assert Chronyk(timest) - 5 == Chronyk(timest - 5) and Chronyk(timest, timezone=0) == timest
E       assert ((Chronyk(2016-01-07 10:59:02) - 5) == Chronyk(2016-01-07 10:58:57))
E        +  where Chronyk(2016-01-07 10:59:02) = Chronyk(1452157142.589508)
E        +  and   Chronyk(2016-01-07 10:58:57) = Chronyk((1452157142.589508 - 5))

test_chronyk.py:208: AssertionError
__________________________________________________________________________ test_operators_ne ___________________________________________________________________________

    def test_operators_ne():
        timest = time.time()
>       assert Chronyk(timest) != Chronyk(timest - 2)
E       assert Chronyk(2016-01-07 10:59:02) != Chronyk(2016-01-07 10:59:00)
E        +  where Chronyk(2016-01-07 10:59:02) = Chronyk(1452157142.605754)
E        +  and   Chronyk(2016-01-07 10:59:00) = Chronyk((1452157142.605754 - 2))

test_chronyk.py:221: AssertionError
_________________________________________________________________________ test_operators_ltgt __________________________________________________________________________

    def test_operators_ltgt():
        timest = time.time()
>       assert Chronyk(timest) > Chronyk(timest - 5)
E       assert Chronyk(2016-01-07 10:59:02) > Chronyk(2016-01-07 10:58:57)
E        +  where Chronyk(2016-01-07 10:59:02) = Chronyk(1452157142.620057)
E        +  and   Chronyk(2016-01-07 10:58:57) = Chronyk((1452157142.620057 - 5))

test_chronyk.py:225: AssertionError
__________________________________________________________________________ test_operators_add __________________________________________________________________________

    def test_operators_add():
        timest = time.time()
>       assert Chronyk(timest) + ChronykDelta(5) == Chronyk(timest + 5)
E       TypeError: unsupported operand type(s) for +: 'instance' and 'instance'

test_chronyk.py:236: TypeError
__________________________________________________________________________ test_operators_sub __________________________________________________________________________

    def test_operators_sub():
        timest = time.time()
>       assert Chronyk(timest) - Chronyk(timest - 5) == ChronykDelta(5)
E       TypeError: unsupported operand type(s) for -: 'instance' and 'instance'

test_chronyk.py:241: TypeError
_______________________________________________________________________ test_delta_operators_eq ________________________________________________________________________

    def test_delta_operators_eq():
>       assert ChronykDelta(5) == ChronykDelta(5) and ChronykDelta(5) == 5
E       assert (ChronykDelta(5 seconds) == ChronykDelta(5 seconds))
E        +  where ChronykDelta(5 seconds) = ChronykDelta(5)
E        +  and   ChronykDelta(5 seconds) = ChronykDelta(5)

test_chronyk.py:278: AssertionError
_______________________________________________________________________ test_delta_operators_neq _______________________________________________________________________

    def test_delta_operators_neq():
>       assert ChronykDelta(5) != ChronykDelta(6) and ChronykDelta(5) != 3
E       assert (ChronykDelta(5 seconds) != ChronykDelta(6 seconds))
E        +  where ChronykDelta(5 seconds) = ChronykDelta(5)
E        +  and   ChronykDelta(6 seconds) = ChronykDelta(6)

test_chronyk.py:281: AssertionError
______________________________________________________________________ test_delta_operators_ltgt _______________________________________________________________________

    def test_delta_operators_ltgt():
        assert ChronykDelta(5) > ChronykDelta(4) and ChronykDelta(5) > 3
        assert ChronykDelta(5) < ChronykDelta(7) and ChronykDelta(5) < 9
>       assert ChronykDelta(5) >= ChronykDelta(5) and ChronykDelta(5) >= 3
E       assert (ChronykDelta(5 seconds) >= ChronykDelta(5 seconds))
E        +  where ChronykDelta(5 seconds) = ChronykDelta(5)
E        +  and   ChronykDelta(5 seconds) = ChronykDelta(5)

test_chronyk.py:286: AssertionError
_______________________________________________________________________ test_delta_operators_add _______________________________________________________________________

    def test_delta_operators_add():
        timest = time.time()
>       assert ChronykDelta(5) + ChronykDelta(-5) == 0
E       TypeError: unsupported operand type(s) for +: 'instance' and 'instance'

test_chronyk.py:291: TypeError
_______________________________________________________________________ test_delta_operators_sub _______________________________________________________________________

    def test_delta_operators_sub():
        assert ChronykDelta(5) - 5 == 0
>       assert ChronykDelta(5) - ChronykDelta(1) == 4
E       TypeError: unsupported operand type(s) for -: 'instance' and 'instance'

test_chronyk.py:297: TypeError
_______________________________________________________________________ test_delta_operators_div _______________________________________________________________________

    def test_delta_operators_div():
>       assert ChronykDelta(10) / 2 == 5
E       TypeError: unsupported operand type(s) for /: 'instance' and 'int'

test_chronyk.py:303: TypeError
================================================================= 18 failed, 54 passed in 4.23 seconds =================================================================

MartinThoma avatar Jan 07 '16 08:01 MartinThoma

Also for Python 3.4.3+:

$ python3 test_chronyk.py            
========================================================================= test session starts ==========================================================================
platform linux -- Python 3.4.3 -- py-1.4.30 -- pytest-2.7.2
rootdir: /home/moose/GitHub/chr/Chronyk, inifile: 
collected 72 items 

test_chronyk.py ...................FF.FFFF..............................................

=============================================================================== FAILURES ===============================================================================
_______________________________________________________________________ test_relative_seconds_1 ________________________________________________________________________

    def test_relative_seconds_1():
>       assert Chronyk("2 seconds ago").relativestring() == "just now"
E       assert 'in 1 hour' == 'just now'
E         - in 1 hour
E         + just now

test_chronyk.py:97: AssertionError
_______________________________________________________________________ test_relative_seconds_2 ________________________________________________________________________

    def test_relative_seconds_2():
>       assert Chronyk("in 5 seconds").relativestring() == "just now"
E       assert 'in 1 hour' == 'just now'
E         - in 1 hour
E         + just now

test_chronyk.py:100: AssertionError
_______________________________________________________________________ test_relative_minutes_1 ________________________________________________________________________

    def test_relative_minutes_1():
>       assert Chronyk("1 minute ago").relativestring() == "1 minute ago"
E       assert 'in 1 hour' == '1 minute ago'
E         - in 1 hour
E         + 1 minute ago

test_chronyk.py:107: AssertionError
_______________________________________________________________________ test_relative_minutes_2 ________________________________________________________________________

    def test_relative_minutes_2():
>       assert Chronyk("in 2 minutes").relativestring() == "in 2 minutes"
E       assert 'in 1 hour' == 'in 2 minutes'
E         - in 1 hour
E         + in 2 minutes

test_chronyk.py:110: AssertionError
________________________________________________________________________ test_relative_hours_1 _________________________________________________________________________

    def test_relative_hours_1():
>       assert Chronyk("1 hour ago").relativestring() == "1 hour ago"
E       assert 'just now' == '1 hour ago'
E         - just now
E         + 1 hour ago

test_chronyk.py:113: AssertionError
________________________________________________________________________ test_relative_hours_2 _________________________________________________________________________

    def test_relative_hours_2():
>       assert Chronyk("in 2 hours").relativestring() == "in 2 hours"
E       assert 'in 3 hours' == 'in 2 hours'
E         - in 3 hours
E         ?    ^
E         + in 2 hours
E         ?    ^

test_chronyk.py:116: AssertionError
================================================================= 6 failed, 66 passed in 5.33 seconds ==================================================================

MartinThoma avatar Jan 07 '16 09:01 MartinThoma

I believe this exposes an issue where strings like "n hours ago" are being interpreted as n - 1 hours ago.

craiga avatar Dec 30 '16 10:12 craiga