def test_400_to_and_from_time_pair(self):
     for test_row in internet_time_test_data:
         internet1 = InternetTime(test_row[1])
         assert internet1.to_time_pair() == (Fraction(test_row[0]),
                                             Fraction(-1, 24))
         internet2 = InternetTime.from_time_pair(test_row[2],
                                                 Fraction("-1/3"))
         assert internet2.to_time_pair() == (Fraction(test_row[0]),
                                             Fraction(-1, 24))
         internet3 = InternetTime.from_time_pair(test_row[3],
                                                 Fraction("1/5"))
         assert internet3.to_time_pair() == (Fraction(test_row[0]),
                                             Fraction(-1, 24))
    def test_920_subclass(self):
        class W(InternetTime):
            theAnswer = 42

            def __init__(self, *args, **kws):
                temp = kws.copy()
                self.extra = temp.pop("extra")
                InternetTime.__init__(self, *args, **temp)

            def newmeth(self, start):
                return start + self.beat * 2

        internet1 = InternetTime(12)
        internet2 = W(12, extra=7)

        assert internet2.theAnswer == 42
        assert internet2.extra == 7
        assert internet1.to_time_pair() == internet2.to_time_pair()
        assert internet2.newmeth(-7) == internet1.beat * 2 - 7