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_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_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_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_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_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_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_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_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_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_invalid_min_value(self): with self.assertRaises(glyph.GraphError): glyph._LinearAxisTics(float('NaN'), 100.0, unitSystem='binary')