Beispiel #1
0
    def testGraphProperties(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'width': 100,
            'height': 150,
            'render': 'highchart',

            # invalid values
            'pane': 'Бла-бла-бла',
            'abyrvalg': 'Абырвалг',
            'Абырвалг': 'Главрыба',
            'qwerty.qw': 42,
            'qwerty.qw.sss': 42,
        }
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        self.assertEqual(graph.getProperty('width', 0), 100)
        self.assertEqual(graph.getProperty('height', 0), 150)
        self.assertEqual(graph.getProperty('render', ''), 'highchart')

        self.assertEqual(graph.getProperty('abyrvalg', None), 'Абырвалг')
        self.assertEqual(graph.getProperty('Абырвалг', None), 'Главрыба')
Beispiel #2
0
    def testCurveAttachData_04(self):
        from datagraph.graphbuilder import GraphBuilder
        data = '''123    111
456    222
789    333'''

        attachname = self._saveDataAndAttach(self.page, data)
        params = {
            'curve.data': 'Attach:{}'.format(attachname),
        }
        content = ''
        page = self.page

        builder = GraphBuilder(params, content, page)
        graph = builder.graph
        curve = graph.getObject('curve')

        curveData = curve.getObject('data')

        self.assertIsNotNone(curveData)
        self.assertIsNotNone(curveData.getSource())

        data = list(curveData.getRowsIterator())
        self.assertEqual(data,
                         [['123', '111'], ['456', '222'], ['789', '333']])
Beispiel #3
0
    def testCurvesCount_01(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {'curve2': 'Абырвалг', 'curve3': 'Абырвалг', 'curve23sdf': ''}
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        self.assertIsNone(graph.getObject('curve2'))
        self.assertIsNone(graph.getObject('curve3'))
        self.assertIsNone(graph.getObject('curve23sdf'))
Beispiel #4
0
    def testCurves_04(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {'curve2.data': 'Attach:fname.txt'}
        content = ''
        page = self.page

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        curves = graph.getCurves()

        self.assertEqual(len(curves), 2)
Beispiel #5
0
    def testCurves_01(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {}
        content = ''
        page = self.page

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        curves = graph.getCurves()

        self.assertEqual(len(curves), 1)
Beispiel #6
0
    def testCurvesCount_02(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'curve.property': 'Абырвалг',
        }
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        self.assertIsNotNone(graph.getObject('curve'))
        self.assertIsNotNone(graph.getObject('curve1'))
Beispiel #7
0
    def testCurvesCount_05(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'curve2.property': 'Абырвалг',
            'curve10.property': 'Абырвалг10',
        }
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        self.assertIsNotNone(graph.getObject('curve'))
        self.assertIsNotNone(graph.getObject('curve10'))
        self.assertEqual(graph.getObject('curve10').getProperty('property', None),
                         'Абырвалг10')
Beispiel #8
0
    def testEmpty(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {}
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        self.assertEqual(graph.getProperty('width', 0), self._defaultWidth)
        self.assertEqual(graph.getProperty('height', 0), self._defaultHeight)

        self.assertEqual(graph.getProperty('Width', 0), self._defaultWidth)
        self.assertEqual(graph.getProperty('HEIGHT', 0), self._defaultHeight)

        self.assertIsNotNone(graph.getObject('curve'))
        self.assertIsNotNone(graph.getObject('curve1'))
Beispiel #9
0
    def testCurveAttach_invalid_01(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'curve.data': 'Attach:invalid_fname.txt',
        }
        content = ''
        page = self.page

        builder = GraphBuilder(params, content, page)
        graph = builder.graph
        curve = graph.getObject('curve')

        curveData = curve.getObject('data')

        self.assertIsNotNone(curveData)
        self.assertIsNotNone(curveData.getSource())

        data = list(curveData.getRowsIterator())
        self.assertEqual(data, [])
Beispiel #10
0
    def testCurveData_02(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {}
        content = '''123
456
789'''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph
        curve = graph.getObject('curve')

        curveData = curve.getObject('data')

        self.assertIsNotNone(curveData)
        self.assertIsNotNone(curveData.getSource())

        data = list(curveData.getRowsIterator())
        self.assertEqual(data, [['123'], ['456'], ['789']])
Beispiel #11
0
    def testCurveProperties_01(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'curve.property': 'Абырвалг',
        }
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph
        curve = graph.getObject('curve')
        curve1 = graph.getObject('curve1')

        self.assertEqual(curve, curve1)
        self.assertEqual(curve.getProperty('property', None), 'Абырвалг')

        self.assertEqual(curve.getProperty('xcol', 42), None)
        self.assertEqual(curve.getProperty('ycol', 42), None)
        self.assertEqual(curve.getProperty('data', 42), None)
Beispiel #12
0
    def testCurveData_03 (self):
        from datagraph.graphbuilder import GraphBuilder
        params = {}
        content = u'''123    111
456    222
789    333'''
        page = None

        builder = GraphBuilder (params, content, page)
        graph = builder.graph
        curve = graph.getObject (u'curve')

        curveData = curve.getObject (u'data')

        self.assertIsNotNone (curveData)
        self.assertIsNotNone (curveData.getSource())

        data = list (curveData.getRowsIterator())
        self.assertEqual (data, [[u'123', u'111'], [u'456', u'222'], [u'789', u'333']])
Beispiel #13
0
    def testCurves_05(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'curve2.title': 'curve2',
            'curve1.title': 'curve1',
            'curve6.title': 'curve6',
            'curve3.title': 'curve3',
        }
        content = ''
        page = self.page

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        curves = graph.getCurves()

        self.assertEqual(len(curves), 4)
        self.assertEqual(curves[0].getProperty('title', ''), 'curve1')
        self.assertEqual(curves[1].getProperty('title', ''), 'curve2')
        self.assertEqual(curves[2].getProperty('title', ''), 'curve3')
        self.assertEqual(curves[3].getProperty('title', ''), 'curve6')
Beispiel #14
0
    def testCurveData_01(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'curve.data.colsep': ',',
            'curve.data.coltype1': 'datetime',
            'curve.data.coltype3': 'float',
        }
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph
        curve = graph.getObject('curve')

        self.assertIsNotNone(curve)
        self.assertIsNone(curve.getProperty('data', 'xxx'))

        data = curve.getObject('data')
        self.assertIsNotNone(data)

        self.assertEqual(data.getProperty('colsep', None), ',')
        self.assertEqual(data.getProperty('coltype1', None), 'datetime')
        self.assertEqual(data.getProperty('coltype3', None), 'float')
Beispiel #15
0
    def testAxis_01(self):
        from datagraph.graphbuilder import GraphBuilder
        params = {
            'x.min': '1.5',
            'y.max': '2.5',
            'x.title': 'Абырвалг',
            'y.type': 'datetime',
        }
        content = ''
        page = None

        builder = GraphBuilder(params, content, page)
        graph = builder.graph

        xaxis = graph.getObject('x')
        yaxis = graph.getObject('y')

        self.assertIsNotNone(xaxis)
        self.assertIsNotNone(yaxis)

        self.assertEqual(xaxis.getProperty('min', None), '1.5')
        self.assertEqual(yaxis.getProperty('max', None), '2.5')
        self.assertEqual(xaxis.getProperty('title', None), 'Абырвалг')
        self.assertEqual(yaxis.getProperty('type', None), 'datetime')
Beispiel #16
0
    def testCurveAttachData_02(self):
        from datagraph.graphbuilder import GraphBuilder
        data = '''123
456
789'''

        attachname = self._saveDataAndAttach(self.page, data)
        params = {
            'curve.data': attachname,
        }
        content = ''
        page = self.page

        builder = GraphBuilder(params, content, page)
        graph = builder.graph
        curve = graph.getObject('curve')

        curveData = curve.getObject('data')

        self.assertIsNotNone(curveData)
        self.assertIsNotNone(curveData.getSource())

        data = list(curveData.getRowsIterator())
        self.assertEqual(data, [['123'], ['456'], ['789']])