from datetime import datetime, timedelta
from edosl0util import timecode


def test_unixtime():
    assert timecode.unixtime(timecode.UNIX_EPOCH) == 0


def test_cds_to_timestamp():
    epoch = 0

    secs = timecode.cds_to_timestamp(0, 0, 0, epoch)
    assert secs == 0

    secs = timecode.cds_to_timestamp(0, 0, 999, epoch)
    assert secs == 0.000999

    secs = timecode.cds_to_timestamp(1, 1, 999, epoch)
    assert secs == 86400.001999


def test_cds_stamp():
    epoch = timecode.UNIX_EPOCH

    assert timecode.cds_stamp(0, 0, 0, epoch) == timecode.UNIX_EPOCH

    assert timecode.cds_stamp(0, 0, 999, epoch) == datetime(1970, 1, 1, 0, 0, 0, 999)

    assert timecode.cds_stamp(1, 1, 999, epoch) == datetime(1970, 1, 2, 0, 0, 0, 1999)