# Path: asn1crypto/util.py
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
#         def __init__(self, offset, name=None):
#         def __eq__(self, other):
#         def __getinitargs__(self):
#         def tzname(self, dt):
#         def utcoffset(self, dt):
#         def dst(self, dt):
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
# def _format_offset(off):
#     def tzname(self, dt):
#     def utcoffset(self, dt):
#     def dst(self, dt):
# def create_timezone(offset):
#     def __init__(self, year, month, day):
#     def year(self):
#     def month(self):
#     def day(self):
#     def strftime(self, format):
#     def isoformat(self):
#     def replace(self, year=None, month=None, day=None):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __init__(self, year, *args, **kwargs):
#     def year(self):
#     def month(self):
#     def day(self):
#     def hour(self):
#     def minute(self):
#     def second(self):
#     def microsecond(self):
#     def tzinfo(self):
#     def utcoffset(self):
#     def time(self):
#     def date(self):
#     def strftime(self, format):
#     def isoformat(self, sep='T'):
#     def replace(self, year=None, *args, **kwargs):
#     def astimezone(self, tz):
#     def timestamp(self):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __add__(self, other):
#     def __sub__(self, other):
#     def __rsub__(self, other):
#     def from_y2k(cls, value):
#     class timezone(tzinfo):  # noqa
# class _UtcWithDst(tzinfo):
# class extended_date(object):
# class extended_datetime(object):
#     DAYS_IN_400_YEARS = 400 * 365 + 97
#     DAYS_IN_2000_YEARS = 5 * DAYS_IN_400_YEARS


import os
import platform
import sys
import unittest
from datetime import date, datetime, time, timedelta
from asn1crypto import util
from .unittest_data import data_decorator
from ._unittest_compat import patch
        self.assertTrue(util.extended_date(0, 1, 1) < util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 1) <= util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 1) != util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 1) == util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 1) >= util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 1) > util.extended_date(0, 1, 2))

        self.assertFalse(util.extended_date(0, 1, 3) < util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 3) <= util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 3) != util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 3) == util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 3) >= util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 3) > util.extended_date(0, 1, 2))

        with self.assertRaises(TypeError):
            util.extended_date(0, 1, 1) < "0000-01-02"

    def test_extended_datetime_compare(self):
        self.assertTrue(util.extended_datetime(0, 1, 1) < datetime(1, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) <= datetime(1, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) != datetime(1, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) == datetime(1, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) >= datetime(1, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) > datetime(1, 1, 1))

        self.assertFalse(util.extended_datetime(0, 1, 1) < util.extended_datetime(0, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) <= util.extended_datetime(0, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) != util.extended_datetime(0, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) == util.extended_datetime(0, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) >= util.extended_datetime(0, 1, 1))

# Path: asn1crypto/util.py
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
#         def __init__(self, offset, name=None):
#         def __eq__(self, other):
#         def __getinitargs__(self):
#         def tzname(self, dt):
#         def utcoffset(self, dt):
#         def dst(self, dt):
#     def int_to_bytes(value, signed=False, width=None):
#     def int_from_bytes(value, signed=False):
# def _format_offset(off):
#     def tzname(self, dt):
#     def utcoffset(self, dt):
#     def dst(self, dt):
# def create_timezone(offset):
#     def __init__(self, year, month, day):
#     def year(self):
#     def month(self):
#     def day(self):
#     def strftime(self, format):
#     def isoformat(self):
#     def replace(self, year=None, month=None, day=None):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __init__(self, year, *args, **kwargs):
#     def year(self):
#     def month(self):
#     def day(self):
#     def hour(self):
#     def minute(self):
#     def second(self):
#     def microsecond(self):
#     def tzinfo(self):
#     def utcoffset(self):
#     def time(self):
#     def date(self):
#     def strftime(self, format):
#     def isoformat(self, sep='T'):
#     def replace(self, year=None, *args, **kwargs):
#     def astimezone(self, tz):
#     def timestamp(self):
#     def __str__(self):
#     def __eq__(self, other):
#     def __ne__(self, other):
#     def _comparison_error(self, other):
#     def __cmp__(self, other):
#     def __lt__(self, other):
#     def __le__(self, other):
#     def __gt__(self, other):
#     def __ge__(self, other):
#     def __add__(self, other):
#     def __sub__(self, other):
#     def __rsub__(self, other):
#     def from_y2k(cls, value):
#     class timezone(tzinfo):  # noqa
# class _UtcWithDst(tzinfo):
# class extended_date(object):
# class extended_datetime(object):
#     DAYS_IN_400_YEARS = 400 * 365 + 97
#     DAYS_IN_2000_YEARS = 5 * DAYS_IN_400_YEARS


# Path: tests/test_util.py
import os
import platform
import sys
import unittest
from datetime import date, datetime, time, timedelta
from asn1crypto import util
from .unittest_data import data_decorator
from ._unittest_compat import patch

        self.assertTrue(util.extended_date(0, 1, 1) < util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 1) <= util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 1) != util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 1) == util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 1) >= util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 1) > util.extended_date(0, 1, 2))

        self.assertFalse(util.extended_date(0, 1, 3) < util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 3) <= util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 3) != util.extended_date(0, 1, 2))
        self.assertFalse(util.extended_date(0, 1, 3) == util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 3) >= util.extended_date(0, 1, 2))
        self.assertTrue(util.extended_date(0, 1, 3) > util.extended_date(0, 1, 2))

        with self.assertRaises(TypeError):
            util.extended_date(0, 1, 1) < "0000-01-02"

    def test_extended_datetime_compare(self):
        self.assertTrue(util.extended_datetime(0, 1, 1) < datetime(1, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) <= datetime(1, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) != datetime(1, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) == datetime(1, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) >= datetime(1, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) > datetime(1, 1, 1))

        self.assertFalse(util.extended_datetime(0, 1, 1) < util.extended_datetime(0, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) <= util.extended_datetime(0, 1, 1))
        self.assertFalse(util.extended_datetime(0, 1, 1) != util.extended_datetime(0, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) == util.extended_datetime(0, 1, 1))
        self.assertTrue(util.extended_datetime(0, 1, 1) >= util.extended_datetime(0, 1, 1))

        self.assertFalse(util.extended_datetime(0, 1, 1) > util.extended_datetime(0, 1, 1))