Esempio n. 1
0
 def _test_dict_cser(self):
     "test writing multiple case series at once using write_cser_dict"
     self.db.write_cser_dict({'$cser_1':data['cser']['float32'],
                                '$cser_2':data['cser']['float32']})
     result = self.db.read(['$cser_1', '$cser_2'])
     assert_array_equal(result['$cser_1'], data['cser']['float32'])
     assert_array_equal(result['$cser_2'], data['cser']['float32'])
Esempio n. 2
0
 def test_empty_timeseries(self):
     "Tests that empty TimeSeries are  handled properly"
     empty_ts = time_series([], freq='b')
     assert_array_equal(empty_ts, empty_ts + 1)
     assert_array_equal(empty_ts, empty_ts + empty_ts)
     assert_equal(empty_ts.start_date, None)
     assert_equal(empty_ts.end_date, None)
Esempio n. 3
0
    def _test_verify_write_range_cser(self):
        "verify that _test_write_range_write_cser worked as expected"

        ser = self.db.read('$rangeCSer')
        result = ma.arange(9).astype(np.float32)
        result[:4] = ma.masked

        assert_array_equal(ser, result)
Esempio n. 4
0
    def _test_verify_write_range_tser(self):
        "verify that _test_write_range_write_tser worked as expected"

        ser = self.db.read('$rangeTSer')

        sDate = ts.Date(freq='A', year=2008)
        eDate = ts.Date(freq='A', year=2012)

        assert_array_equal(ser, rangeTSer[sDate:eDate+1])
Esempio n. 5
0
    def _test_read_append_tser(self):
        "test reading of appended time series"
        result = ts.adjust_endpoints(data['tser']['float32'],
                                     start_date=data['tser']['float32'].start_date,
                                     end_date=appendTSer.end_date)
        result[appendTSer.start_date:appendTSer.end_date+1] = appendTSer

        ser = self.db.read('$appendTSer')

        assert_array_equal(result, ser)
Esempio n. 6
0
    def _test_copy_rename(self):
        "test copying and renaming an object"
        db2 = fame.FameDb("testdb2.db", 'o')
        self.db.copy_obj(db2, "$tser_float32", "$copied_obj")
        orig_obj = self.db.read("$tser_float32")
        copied_obj = db2.read("$copied_obj")
        assert_array_equal(orig_obj, copied_obj)

        db2.rename_obj("$copied_obj", "$renamed_obj")
        assert(db2.obj_exists("$renamed_obj"))
        assert(not db2.obj_exists("$copied_obj"))

        db2.close()
Esempio n. 7
0
    def test_tshift(self):
        "Test tshift function"
        series = self.d[0]
        shift_negative = series.tshift(-1)
        result_data = [999] + [0,1,2,3,4,5,6,7,8,9,10,11,12,13]
        result_mask = [1  ] + [1,0,0,0,0,1,0,0,0,0,1, 0, 0, 0 ]
        shift_negative_result = time_series(result_data, series._dates, mask=result_mask)

        shift_positive = series.tshift(1)
        result_data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14] + [999]
        result_mask = [0,0,0,0,1,0,0,0,0,1, 0, 0, 0, 0 ] + [1  ]
        shift_positive_result = time_series(result_data, series._dates, mask=result_mask)

        assert_array_equal(shift_negative, shift_negative_result)
        assert_array_equal(shift_positive, shift_positive_result)
Esempio n. 8
0
    def test_convert(self):
        """Test convert function

Just check basic functionality. The details of the actual
date conversion algorithms already tested by asfreq in the
test_dates test suite.
        """
        lowFreqSeries = time_series(N.arange(10),
                                    start_date=Date(freq='m', year=2005, month=6))
        highFreqSeries = time_series(N.arange(100),
                                    start_date=Date(freq='b', year=2005, month=6, day=1))
        ndseries = time_series(N.arange(124).reshape(62,2), 
                             start_date=Date(freq='d', year=2005, month=7, day=1))

        lowToHigh_start = lowFreqSeries.convert('B', position='START')

        assert_equal(lowToHigh_start.start_date,
                     Date(freq='m', year=2005, month=6).asfreq("B", relation="BEFORE"))
        assert_equal(lowToHigh_start.end_date,
                     (Date(freq='m', year=2005, month=6) + 9).asfreq("B", relation="AFTER"))

        assert_equal(lowToHigh_start._mask[0], False)
        assert_equal(lowToHigh_start._mask[-1], True)

        lowToHigh_end = lowFreqSeries.convert('B', position='END')

        assert_equal(lowToHigh_end.start_date,
                     Date(freq='m', year=2005, month=6).asfreq("B", relation="BEFORE"))
        assert_equal(lowToHigh_end.end_date,
                     (Date(freq='m', year=2005, month=6) + 9).asfreq("B", relation="AFTER"))

        assert_equal(lowToHigh_end._mask[0], True)
        assert_equal(lowToHigh_end._mask[-1], False)


        highToLow = highFreqSeries.convert('M', func=None)

        assert_equal(highToLow.ndim, 2)
        assert_equal(highToLow.shape[1], 23)
        assert_equal(highToLow.start_date,
                     Date(freq='b', year=2005, month=6, day=1).asfreq('M'))
        assert_equal(highToLow.end_date,
                     (Date(freq='b', year=2005, month=6, day=1) + 99).asfreq('M'))

        assert_array_equal(lowFreqSeries, lowFreqSeries.convert("M"))
                
        assert_equal(ndseries.convert('M',sum), [[930,961],[2852,2883]])
Esempio n. 9
0
    def _test_read_range_tser(self):
        "test reading a time series over specified ranges"
        src = data['tser']['float32']
        s1 = src.start_date+2
        s2 = src.start_date-2
        e1 = src.end_date+2
        e2 = src.end_date-2

        dateList = [(s1, e1),
                    (s1, e2),
                    (s2, e1),
                    (s2, e2)]

        for s, e in dateList:
            res = ts.adjust_endpoints(src, start_date=s, end_date=e)
            ser = self.db.read('$tser_float32', start_date=s, end_date=e)
            assert_array_equal(res, ser)
Esempio n. 10
0
    def test_split(self):
        """Test the split function."""
        ms = time_series(N.arange(62).reshape(31,2),
                         start_date=Date(freq='d', year=2005, month=7, day=1))
        d1,d2 = split(ms)
        assert_array_equal(d1.data, ms.data[:,0])
        assert_array_equal(d1.dates, ms.dates)
        assert_array_equal(d2.data, ms.data[:,1])

        series = self.d[0]
        ss = split(series)[0]
        assert_array_equal(series, ss)
Esempio n. 11
0
    def _test_read_range_cser(self):
        "test reading case series over specified ranges"
        src = data['cser']['float32']
        s1 = 3
        s2 = 1
        e1 = 8
        e2 = 4

        caseList = [(s1, e1),
                    (s1, e2),
                    (s2, e1),
                    (s2, e2)]

        for s, e in caseList:
            size = (e - s + 1)
            res = ma.array([0]*size , np.float32, mask=[1]*size )

            if e < src.size: _e = size
            else: _e = size - max(e-size, 0, size - src.size)

            res[0:_e] = src[s-1:min(e, src.size)]
            ser = self.db.read('$cser_float32', start_case=s, end_case=e)

            assert_array_equal(res, ser)
Esempio n. 12
0
 def _test_overwrite_cser(self):
     "test overwriting a case series"
     self.db.write_cser('$cser_float32', data['cser']['bool'], overwrite=True)
     ser = self.db.read('$cser_float32')
     assert_array_equal(ser, data['cser']['bool'])
Esempio n. 13
0
    def _test_read_append_cser(self):
        "test reading of appended case series"

        result = ma.concatenate([data['cser']['float32'][:3], appendCSer])
        ser = self.db.read('$appendCSer')
        assert_array_equal(result, ser)