def test_project(self): scale = leather.Months(date(2010, 1, 1), date(2014, 1, 1)) self.assertAlmostEqual(scale.project(date(2011, 1, 1), 0, 48), 12, 0) self.assertAlmostEqual(scale.project(date(2012, 1, 1), 0, 48), 24, 0) self.assertAlmostEqual(scale.project(date(2008, 12, 1), 0, 48), -12, 0) scale = leather.Months(datetime(2010, 1, 1), datetime(2014, 1, 1)) self.assertAlmostEqual(scale.project(datetime(2011, 1, 1), 0, 48), 12, 0) self.assertAlmostEqual(scale.project(datetime(2012, 1, 1), 0, 48), 24, 0) self.assertAlmostEqual(scale.project(datetime(2008, 12, 1), 0, 48), -12, 0) with self.assertRaises(ValueError): scale = leather.Months(2010, 2014)
def test_ticks(self): scale = leather.Months(date(2010, 1, 1), date(2014, 1, 1)) self.assertEqual(scale.ticks(), [ date(2010, 1, 1), date(2011, 1, 1), date(2012, 1, 1), date(2013, 1, 1), date(2014, 1, 1) ]) scale = leather.Months(date(2010, 1, 1), date(2012, 1, 1)) self.assertEqual(scale.ticks(), [ date(2010, 1, 1), date(2010, 7, 1), date(2011, 1, 1), date(2011, 7, 1), date(2012, 1, 1) ])
def test_project_interval(self): scale = leather.Months(date(2010, 1, 1), date(2014, 1, 1)) a, b = scale.project_interval(date(2011, 1, 1), 0, 48) self.assertAlmostEqual(a, 11.5, 0) self.assertAlmostEqual(b, 12.5, 0)