def test_4suite(self): # borrowed from 4Suite tests_seconds = [ (0, u'PT0S'), (1, u'PT1S'), (59, u'PT59S'), (60, u'PT1M'), (3599, u'PT59M59S'), (3600, u'PT1H'), (86399, u'PT23H59M59S'), (86400, u'P1D'), (86400 * 60, u'P60D'), (86400 * 400, u'P400D') ] for secs, answer in tests_seconds: gg = SomeBlob() gg.howlong = timedelta(seconds=secs) element = etree.Element('test') XmlDocument()\ .to_parent(None, SomeBlob, gg, element, gg.get_namespace()) element = element[0] print(gg.howlong) print(etree.tostring(element, pretty_print=True)) assert element[0].text == answer data = element.find('{%s}howlong' % gg.get_namespace()).text self.assertEquals(data, answer) s1 = XmlDocument().from_element(None, SomeBlob, element) assert total_seconds(s1.howlong) == secs for secs, answer in tests_seconds: if secs > 0: secs *= -1 answer = '-' + answer gg = SomeBlob() gg.howlong = timedelta(seconds=secs) element = etree.Element('test') XmlDocument()\ .to_parent(None, SomeBlob, gg, element, gg.get_namespace()) element = element[0] print(gg.howlong) print(etree.tostring(element, pretty_print=True)) assert element[0].text == answer data = element.find('{%s}howlong' % gg.get_namespace()).text self.assertEquals(data, answer) s1 = XmlDocument().from_element(None, SomeBlob, element) assert total_seconds(s1.howlong) == secs
def test_duration_positive_milliseconds_only(self): answer = 'PT0.666000S' gg = SomeBlob() gg.howlong = timedelta(milliseconds=666) element = etree.Element('test') XmlDocument().to_parent(None, SomeBlob, gg, element, gg.get_namespace()) element = element[0] print(gg.howlong) print(etree.tostring(element, pretty_print=True)) assert element[0].text == answer data = element.find('{%s}howlong' % gg.get_namespace()).text self.assertEquals(data, answer) s1 = XmlDocument().from_element(None, SomeBlob, element) assert total_seconds(s1.howlong) == total_seconds(gg.howlong)
def test_onehour_oneminute_onesecond(self): answer = 'PT1H1M1S' gg = SomeBlob() gg.howlong = timedelta(hours=1, minutes=1, seconds=1) element = etree.Element('test') XmlDocument().to_parent(None, SomeBlob, gg, element, gg.get_namespace()) element = element[0] print(gg.howlong) print(etree.tostring(element, pretty_print=True)) assert element[0].text == answer data = element.find('{%s}howlong' % gg.get_namespace()).text self.assertEquals(data, answer) s1 = XmlDocument().from_element(None, SomeBlob, element) assert total_seconds(s1.howlong) == total_seconds(gg.howlong)
def test_duration_positive_minutes_and_seconds_only(self): answer = 'PT5M35S' gg = SomeBlob() gg.howlong = timedelta(minutes=5, seconds=35) element = etree.Element('test') XmlDocument().to_parent_element(SomeBlob, gg, gg.get_namespace(), element) element = element[0] print gg.howlong print etree.tostring(element, pretty_print=True) assert element[0].text == answer data = element.find('{%s}howlong' % gg.get_namespace()).text self.assertEquals(data, answer) s1 = XmlDocument().from_element(SomeBlob, element) assert total_seconds(s1.howlong) == total_seconds(gg.howlong)