Beispiel #1
0
 def testDataProvider(self):
     result = api.evaluate('2*GOOG, GOOG')
     self.assertEqual(len(result.data), 1)
     self.assertEqual(result.expression, api.parse('2*GOOG, GOOG'))
     data = result.ts()
     self.assertTrue(api.is_timeseries(data))
     self.assertEqual(data.count(), 2)
     ts1 = data.serie(0)
     ts2 = data.serie(1)
     for v1, v2 in zip(ts1, ts2):
         self.assertAlmostEqual(v1, 2. * v2)
Beispiel #2
0
 def testDataProvider(self):
     result = api.evaluate('2*GOOG, GOOG')
     self.assertEqual(len(result.data), 1)
     self.assertEqual(result.expression, api.parse('2*GOOG, GOOG'))
     data = result.ts()
     self.assertTrue(api.is_timeseries(data))
     self.assertEqual(data.count(), 2)
     ts1 = data.serie(0)
     ts2 = data.serie(1)
     for v1, v2 in zip(ts1, ts2):
         self.assertAlmostEqual(v1, 2.*v2)
Beispiel #3
0
 def testBinOpSerieFunction(self):
     '''Get a timeseries and a function and check for consistency'''
     res = api.parse('goog:yahoo-ma(goog:yahoo, window=30)')
     self.assertEqual(res.symbols(), ['GOOG:YAHOO'])
     self.assertEqual(len(res), 2)
     self.assertEqual(str(res[0]), 'GOOG:YAHOO')
     self.assertEqual(str(res[1]), 'ma(GOOG:YAHOO, window=30)')
     result = api.evaluate(res)
     self.assertEqual(len(result.data), 1)
     data = result.ts()
     self.assertTrue(api.is_timeseries(data))
     self.assertEqual(data.count(), 1)
Beispiel #4
0
 def testBinOpSerieFunction(self):
     '''Get a timeseries and a function and check for consistency'''
     res = api.parse('goog:yahoo-ma(goog:yahoo, window=30)')
     self.assertEqual(res.symbols(), ['GOOG:YAHOO'])
     self.assertEqual(len(res), 2)
     self.assertEqual(str(res[0]), 'GOOG:YAHOO')
     self.assertEqual(str(res[1]), 'ma(GOOG:YAHOO, window=30)')
     result = api.evaluate(res)
     self.assertEqual(len(result.data), 1)
     data = result.ts()
     self.assertTrue(api.is_timeseries(data))
     self.assertEqual(data.count(), 1)
Beispiel #5
0
    def testTSName(self):
        '''
        The dslresult should include an attribute 'name'
        which is the equivalent to the expression passed.
        In situations where multiple timeseries are returned
        the name should be the concatenation of all the names
        joined by "__".
        '''
        expressions = ['GOOG+YHOO',
                       '2*GOOG',
                       'GOOG, YHOO',
                       ]
        for expr in expressions:
            result = api.evaluate(expr)
            ts = result.ts()
            name = ts.name

            expected_name = '__'.join(expr.split(','))
            self.assertEqual(name, expected_name)
Beispiel #6
0
    def testTSName(self):
        '''
        The dslresult should include an attribute 'name'
        which is the equivalent to the expression passed.
        In situations where multiple timeseries are returned
        the name should be the concatenation of all the names
        joined by "__".
        '''
        expressions = [
            'GOOG+YHOO',
            '2*GOOG',
            'GOOG, YHOO',
        ]
        for expr in expressions:
            result = api.evaluate(expr)
            ts = result.ts()
            name = ts.name

            expected_name = '__'.join(expr.split(','))
            self.assertEqual(name, expected_name)