def test_LinearAxisTics_getLabelValues_small_step(self):
   y = glyph._LinearAxisTics(-1000.0, -1.0, unitSystem='si')
   y.applySettings()
   y.chooseStep()
   y.chooseLimits()
   y.step=0.001
   self.assertEqual(y.getLabelValues(), [-1000.0, -800.0, -600.0, -400.0, -200.0, 0.0])
 def test_LinearAxisTics_getLabelValues_defaults(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     y.applySettings()
     y.chooseStep()
     y.chooseLimits()
     self.assertEqual(y.getLabelValues(),
                      [0.0, 200.0, 400.0, 600.0, 800.0, 1000.0])
 def test_LinearAxisTics_getLabelValues_neg(self):
     y = glyph._LinearAxisTics(-1000.0, -1.0, unitSystem='si')
     y.applySettings()
     y.chooseStep()
     y.chooseLimits()
     self.assertEqual(y.getLabelValues(),
                      [-1000.0, -800.0, -600.0, -400.0, -200.0, 0.0])
 def test_LinearAxisTics_getLabelValues_neg_step(self):
     y = glyph._LinearAxisTics(-1000.0, -1.0, unitSystem='si')
     y.applySettings()
     y.chooseStep()
     y.step = -1
     y.chooseLimits()
     with self.assertRaises(glyph.GraphError):
         y.getLabelValues()
 def test_LinearAxisTics_getLabelValues_neg_step(self):
   y = glyph._LinearAxisTics(-1000.0, -1.0, unitSystem='si')
   y.applySettings()
   y.chooseStep()
   y.step=-1
   y.chooseLimits()
   with self.assertRaises(glyph.GraphError):
     y.getLabelValues()
 def test_LinearAxisTics_reconcileLimits_ymin_and_ymax_assert(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings(axisMin=0, axisMax=10, axisLimit=100)
     self.assertAlmostEqual(y.minValue, 0.0, places=4)
     self.assertAlmostEqual(y.maxValue, 10.0, places=4)
 def test_LinearAxisTics_applySettings_axisLimit_min_greater_max(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     with self.assertRaises(glyph.GraphError):
         y.applySettings(axisMin=1000, axisMax=10, axisLimit=None)
 def test_LinearAxisTics_reconcileLimits_axisLimit_above_max(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings(axisMin=None, axisMax=10, axisLimit=float('inf'))
   self.assertAlmostEqual(y.minValue, 0.0, places=4)
   self.assertAlmostEqual(y.maxValue, 10.0, places=4)
 def test_LinearAxisTics_chooseStep_default_divisors(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     self.assertEqual(y.chooseStep([4, 5, 6]), None)
     self.assertAlmostEqual(y.step, 200, places=4)
 def test_LinearAxisTics_generateSteps_0(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     #ValueError: math domain error
     with self.assertRaises(ValueError):
         list(y.generateSteps(0))
 def test_LinearAxisTics_setStep_inf(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     with self.assertRaises(glyph.GraphError):
         y.setStep(float('inf'))
 def test_LinearAxisTics_makeLabel_med_span_float(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     y.applySettings(axisMin=None, axisMax=None, axisLimit=float('inf'))
     self.assertEqual(y.reconcileLimits(), None)
     y.span = 5
     self.assertEqual(y.makeLabel(50.1234), '50.1 ')
 def test_LinearAxisTics_setStep_unset(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   self.assertEqual(y.step, None)
 def test_LinearAxisTics_makeLabel_small_span_int(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   y.applySettings(axisMin=None, axisMax=None, axisLimit=float('inf'))
   self.assertEqual(y.reconcileLimits(), None)
   y.span=1
   self.assertEqual(y.makeLabel(int(5)), '5.00 ')
 def test_LinearAxisTics_makeLabel_med_span_float(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   y.applySettings(axisMin=None, axisMax=None, axisLimit=float('inf'))
   self.assertEqual(y.reconcileLimits(), None)
   y.span=5
   self.assertEqual(y.makeLabel(50.1234), '50.1 ')
 def test_LinearAxisTics_makeLabel_small_decimal(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings(axisMin=None, axisMax=None, axisLimit=float('inf'))
   self.assertEqual(y.reconcileLimits(), None)
   self.assertEqual(y.makeLabel(0.01), '0.01 ')
 def test_LinearAxisTics_makeLabel_2k(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings(axisMin=None, axisMax=10, axisLimit=float('inf'))
   self.assertEqual(y.reconcileLimits(), None)
   self.assertEqual(y.makeLabel(2000), '2.0 Ki ')
 def test_LinearAxisTics_reconcileLimits_ymin_200(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings(axisMin=200)
   self.assertAlmostEqual(y.minValue, 200.0, places=4)
   self.assertAlmostEqual(y.maxValue, 220.0, places=4)
 def test_LinearAxisTics_reconcileLimits_ymax_negative(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings(axisMax=-10)
   self.assertAlmostEqual(y.minValue, -11.0, places=4)
   self.assertAlmostEqual(y.maxValue, -10.0, places=4)
 def test_LinearAxisTics_reconcileLimits_ymax_negative(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings(axisMax=-10)
     self.assertAlmostEqual(y.minValue, -11.0, places=4)
     self.assertAlmostEqual(y.maxValue, -10.0, places=4)
 def test_LinearAxisTics_makeLabel_2k(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings(axisMin=None, axisMax=10, axisLimit=float('inf'))
     self.assertEqual(y.reconcileLimits(), None)
     self.assertEqual(y.makeLabel(2000), '2.0 Ki ')
 def test_LinearAxisTics_setStep_5_0(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   y.setStep(5.0)
   self.assertEqual(y.step, 5.0)
 def test_LinearAxisTics_setStep_unset(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     self.assertEqual(y.step, None)
 def test_LinearAxisTics_setStep_inf(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   with self.assertRaises(glyph.GraphError):
       y.setStep(float('inf'))
 def test_LinearAxisTics_generateSteps_1(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     for (results, expected) in zip(y.generateSteps(1),
                                    [1.0, 2.0, 5.0, 10.0, 20.0]):
         self.assertAlmostEqual(results, expected, places=4)
 def test_LinearAxisTics_setStep_None(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   with self.assertRaises(TypeError):
       y.setStep(None)
 def test_LinearAxisTics_computeSlop_med_maxValue_50_10(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='si')
     self.assertAlmostEqual(y.computeSlop(50, 10), 400.0, places=4)
 def test_LinearAxisTics_generateSteps_1(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   for (results, expected) in zip(y.generateSteps(1), [1.0, 2.0, 5.0, 10.0, 20.0]):
     self.assertAlmostEqual(results, expected, places=4)
 def test_LinearAxisTics_chooseStep_min_max_neg_1_0(self):
     y = glyph._LinearAxisTics(-1.0, -1.0, unitSystem='si')
     self.assertEqual(y.chooseStep([4, 5, 6]), None)
     self.assertAlmostEqual(y.step, 0.05, places=6)
 def test_LinearAxisTics_generateSteps_binary_5(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   y.binary=True
   for (results, expected) in zip(y.generateSteps(5), [8.0, 16.0]):
     self.assertAlmostEqual(results, expected, places=4)
 def test_LinearAxisTics_invalid_max_value(self):
     with self.assertRaises(glyph.GraphError):
         glyph._LinearAxisTics(0.0, float('inf'), unitSystem='binary')
 def test_LinearAxisTics_generateSteps_0(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   #ValueError: math domain error
   with self.assertRaises(ValueError):
     list(y.generateSteps(0))
 def test_LinearAxisTics_reconcileLimits_defaults(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings()
     self.assertAlmostEqual(y.minValue, 0.0, places=4)
     self.assertAlmostEqual(y.maxValue, 100.0, places=4)
 def test_LinearAxisTics_computeSlop_10_3(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   self.assertEqual(y.computeSlop(10, 3), None)
 def test_LinearAxisTics_reconcileLimits_axisLimit_above_max(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings(axisMin=None, axisMax=10, axisLimit=float('inf'))
     self.assertAlmostEqual(y.minValue, 0.0, places=4)
     self.assertAlmostEqual(y.maxValue, 10.0, places=4)
 def test_LinearAxisTics_computeSlop_med_maxValue_50_10(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='si')
   self.assertAlmostEqual(y.computeSlop(50, 10), 400.0, places=4)
 def test_LinearAxisTics_reconcileLimits_ymin_200(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings(axisMin=200)
     self.assertAlmostEqual(y.minValue, 200.0, places=4)
     self.assertAlmostEqual(y.maxValue, 220.0, places=4)
 def test_LinearAxisTics_computeSlop_low_maxValue_10_3(self):
   y = glyph._LinearAxisTics(0, 1, unitSystem='si')
   self.assertAlmostEqual(y.computeSlop(10, 3), 29.0, places=4)
 def test_LinearAxisTics_makeLabel_small_decimal(self):
     y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
     y.applySettings(axisMin=None, axisMax=None, axisLimit=float('inf'))
     self.assertEqual(y.reconcileLimits(), None)
     self.assertEqual(y.makeLabel(0.01), '0.01 ')
 def test_LinearAxisTics_chooseStep_default_divisors(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   self.assertEqual(y.chooseStep([4,5,6]), None)
   self.assertAlmostEqual(y.step, 200, places=4)
 def test_LinearAxisTics_makeLabel_small_span_int(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     y.applySettings(axisMin=None, axisMax=None, axisLimit=float('inf'))
     self.assertEqual(y.reconcileLimits(), None)
     y.span = 1
     self.assertEqual(y.makeLabel(int(5)), '5.00 ')
 def test_LinearAxisTics_chooseStep_bad_divisors(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   with self.assertRaises(glyph.GraphError):
     y.chooseStep([0,1,2])
 def test_LinearAxisTics_setStep_5_0(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     y.setStep(5.0)
     self.assertEqual(y.step, 5.0)
 def test_LinearAxisTics_chooseStep_min_max_neg_1_0(self):
   y = glyph._LinearAxisTics(-1.0, -1.0, unitSystem='si')
   self.assertEqual(y.chooseStep([4,5,6]), None)
   self.assertAlmostEqual(y.step, 0.05, places=6)
 def test_LinearAxisTics_setStep_None(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     with self.assertRaises(TypeError):
         y.setStep(None)
 def test_LinearAxisTics_chooseLimits_axisMin_0(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   y.applySettings(axisMin=0.0)
   y.chooseStep()
   y.chooseLimits()
   self.assertEqual((y.bottom, y.top, y.span), (0.0, 1000.0, 1000.0))
 def test_LinearAxisTics_generateSteps_binary_5(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     y.binary = True
     for (results, expected) in zip(y.generateSteps(5), [8.0, 16.0]):
         self.assertAlmostEqual(results, expected, places=4)
 def test_LinearAxisTics_chooseLimits_yMax_0_axisMax_0_1(self):
   y = glyph._LinearAxisTics(0.0, 0.0, unitSystem='si')
   y.applySettings(axisMax=0.1)
   y.chooseStep()
   y.chooseLimits()
   self.assertEqual((y.bottom, y.top, y.span), (0.0, 0.1, 0.1))
 def test_LinearAxisTics_computeSlop_10_3(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     self.assertEqual(y.computeSlop(10, 3), None)
 def test_LinearAxisTics_getLabelValues_defaults(self):
   y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
   y.applySettings()
   y.chooseStep()
   y.chooseLimits()
   self.assertEqual(y.getLabelValues(), [0.0, 200.0, 400.0, 600.0, 800.0, 1000.0])
 def test_LinearAxisTics_computeSlop_low_maxValue_10_3(self):
     y = glyph._LinearAxisTics(0, 1, unitSystem='si')
     self.assertAlmostEqual(y.computeSlop(10, 3), 29.0, places=4)
 def test_LinearAxisTics_chooseLimits_yMax_0_axisMax_0_1(self):
     y = glyph._LinearAxisTics(0.0, 0.0, unitSystem='si')
     y.applySettings(axisMax=0.1)
     y.chooseStep()
     y.chooseLimits()
     self.assertEqual((y.bottom, y.top, y.span), (0.0, 0.1, 0.1))
 def test_LinearAxisTics_chooseStep_bad_divisors(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     with self.assertRaises(glyph.GraphError):
         y.chooseStep([0, 1, 2])
 def test_LinearAxisTics_reconcileLimits_defaults(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings()
   self.assertAlmostEqual(y.minValue, 0.0, places=4)
   self.assertAlmostEqual(y.maxValue, 100.0, places=4)
 def test_LinearAxisTics_chooseLimits_axisMin_0(self):
     y = glyph._LinearAxisTics(0.0, 1000.0, unitSystem='si')
     y.applySettings(axisMin=0.0)
     y.chooseStep()
     y.chooseLimits()
     self.assertEqual((y.bottom, y.top, y.span), (0.0, 1000.0, 1000.0))
 def test_LinearAxisTics_reconcileLimits_ymin_and_ymax_assert(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   y.applySettings(axisMin=0, axisMax=10, axisLimit=100)
   self.assertAlmostEqual(y.minValue, 0.0, places=4)
   self.assertAlmostEqual(y.maxValue, 10.0, places=4)
 def test_LinearAxisTics_invalid_max_value(self):
   with self.assertRaises(glyph.GraphError):
       glyph._LinearAxisTics(0.0, float('inf'), unitSystem='binary')
 def test_LinearAxisTics_applySettings_axisLimit_min_greater_max(self):
   y = glyph._LinearAxisTics(0.0, 100.0, unitSystem='binary')
   with self.assertRaises(glyph.GraphError):
       y.applySettings(axisMin=1000, axisMax=10, axisLimit=None)
 def test_LinearAxisTics_invalid_min_value(self):
     with self.assertRaises(glyph.GraphError):
         glyph._LinearAxisTics(float('NaN'), 100.0, unitSystem='binary')
 def test_LinearAxisTics_invalid_min_value(self):
   with self.assertRaises(glyph.GraphError):
       glyph._LinearAxisTics(float('NaN'), 100.0, unitSystem='binary')