Exemplo n.º 1
0
    def test_project(self):
        scale = leather.Linear(0, 10)

        self.assertEqual(scale.project(2, 0, 20), 4)
        self.assertEqual(scale.project(10, 0, 40), 40)
        self.assertEqual(scale.project(5, 10, 40), 25)
        self.assertEqual(scale.project(5, 10, 41), 25.5)

        scale = leather.Linear(10, 40)

        self.assertEqual(scale.project(25, 0, 10), 5)
        self.assertEqual(scale.project(4, 0, 20), -4)

        scale = leather.Linear(-10, 10)

        self.assertEqual(scale.project(0, 0, 10), 5)
        self.assertEqual(scale.project(-10, -5, 10), -5)

        scale = leather.Linear(-20, -10)

        self.assertEqual(scale.project(-15, 0, 10), 5)
        self.assertEqual(scale.project(-10, -5, 10), 10)

        with self.assertRaises(ValueError):
            leather.Linear(10, 0)
Exemplo n.º 2
0
    def test_set_scales(self):
        chart = leather.Chart()
        chart.set_x_scale(leather.Linear(0, 20))
        chart.set_y_scale(leather.Linear(0, 20))
        chart.add_dots(self.data1)

        svg = self.render_chart(chart)

        self.assertTickLabels(svg, 'left', ['5', '10', '15', '20', '0'])
        self.assertTickLabels(svg, 'bottom', ['5', '10', '15', '20', '0'])
    def test_contains(self):
        scale = leather.Linear(-5, 5)

        self.assertTrue(scale.contains(-5))
        self.assertTrue(scale.contains(0))
        self.assertTrue(scale.contains(5))
        self.assertFalse(scale.contains(-6))
        self.assertFalse(scale.contains(6))
Exemplo n.º 4
0
    def test_zeros(self):
        series = leather.Series([(0, 'foo'), (0, None), (0, 'bing')])

        linear = leather.Linear(0, 0)

        group = self.shape.to_svg(200, 100, linear, self.ordinal, series,
                                  self.palette)
        rects = list(group)

        self.assertEqual(len(rects), 2)
        self.assertEqual(float(rects[1].get('x')), 0)
        self.assertEqual(float(rects[1].get('width')), 0)
Exemplo n.º 5
0
    def test_decimal(self):
        scale = leather.Linear(Decimal(0), Decimal(10))

        self.assertEqual(scale.project(Decimal(2), Decimal(0), Decimal(20)),
                         Decimal(4))
        self.assertEqual(scale.project(Decimal(10), Decimal(0), Decimal(40)),
                         Decimal(40))
        self.assertEqual(scale.project(Decimal(5), Decimal(10), Decimal(40)),
                         Decimal(25))
        self.assertEqual(scale.project(Decimal(5), Decimal(10), Decimal(41)),
                         Decimal(25.5))

        self.assertEqual(scale.ticks()[1], Decimal(2.5))
Exemplo n.º 6
0
    def test_ticks(self):
        scale = leather.Linear(0, 10)

        self.assertEqual(scale.ticks(), [0, 2.5, 5, 7.5, 10])
Exemplo n.º 7
0
 def setUp(self):
     self.shape = leather.Dots('red')
     self.linear = leather.Linear(0, 10)
     self.ordinal = leather.Ordinal(['foo', 'bar', 'bing'])
     self.palette = (color for color in ['red', 'white', 'blue'])
    def test_no_spread(self):
        scale = leather.Linear(0, 0)

        self.assertEqual(scale.project(0, 0, 10), 0)
        self.assertEqual(scale.project(1, 0, 10), 10)
Exemplo n.º 9
0
 def setUp(self):
     self.shape = leather.Dots('red')
     self.linear = leather.Linear(0, 10)
     self.ordinal = leather.Ordinal(['foo', 'bar', 'bing'])