'A single difference, tested across different units'

def test_units(self):

    d1 = datetime.datetime(2000, 1, 1)
    d2 = datetime.datetime(2004, 1, 1)
    self.assertEqual(datediff(d2, d1, units='microsecond'), ((((1000000.0 * 60) * 60) * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    microseconds')
    self.assertEqual(datediff(d2, d1, units='microseconds'), ((((1000000.0 * 60) * 60) * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    microseconds')
    self.assertEqual(datediff(d2, d1), (((60 * 60) * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    seconds    (default)')
    self.assertEqual(datediff(d2, d1, units='second'), (((60 * 60) * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    seconds')
    self.assertEqual(datediff(d2, d1, units='seconds'), (((60 * 60) * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    seconds')
    self.assertEqual(datediff(d2, d1, units='minute'), ((60 * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    minutes')
    self.assertEqual(datediff(d2, d1, units='minutes'), ((60 * 24) * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    minutes')
    self.assertEqual(datediff(d2, d1, units='hour'), (24 * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    hours')
    self.assertEqual(datediff(d2, d1, units='hours'), (24 * ((365 * 4) + 1)), '4    years    (with    leap    year),    in    hours')
    self.assertEqual(datediff(d2, d1, units='day'), ((365 * 4) + 1), '4    years    (with    leap    year),    in    days')
    self.assertEqual(datediff(d2, d1, units='days'), ((365 * 4) + 1), '4    years    (with    leap    year),    in    days')
    self.assertEqual(datediff(d2, d1, units='week'), (((365 * 4) + 1) / 7.0), '4    years    (with    leap    year),    in    weeks')
    self.assertEqual(datediff(d2, d1, units='weeks'), (((365 * 4) + 1) / 7.0), '4    years    (with    leap    year),    in    weeks')
