Ejemplo n.º 1
0
    def list_serialization_formatfree_test(self):
        """Test the format free list serialization."""
        data = [[0.0, 0.0], [0.1, 0.1], [0.2, 0.2], [0.3, 0.3], [0.4, 0.4], [0.5, 0.5]]
        tsOne = MultiDimensionalTimeSeries.from_twodim_list(data)

        data = tsOne.to_twodim_list()
        tsTwo = MultiDimensionalTimeSeries.from_twodim_list(data)

        assert tsOne == tsTwo
Ejemplo n.º 2
0
    def list_serialization_format_test(self):
        """Test the list serialization including time foramtting instructions."""
        data = [[0.0, 0.0], [1.0, 0.1], [2.0, 0.2], [3.0, 0.3], [4.0, 0.4], [5.0, 0.5]]
        tsOne = MultiDimensionalTimeSeries.from_twodim_list(data)

        tsOne.set_timeformat("%Y-%m-%d_%H:%M:%S")
        data = tsOne.to_twodim_list()
        tsTwo = MultiDimensionalTimeSeries.from_twodim_list(data, format="%Y-%m-%d_%H:%M:%S")

        assert tsOne == tsTwo
    def add_entry_test(self):
        """Test MultiDimensionalTimeSeries.add_entry()."""
        data = [[1,2,3],[4,5,6],[7,8,9]]
        mdts = MultiDimensionalTimeSeries(3)

        for entry in data:
            mdts.add_entry(len(mdts), entry)

        assert len(data) == len(mdts)
        
        for idx in xrange(len(data)):
            assert [idx] + data[idx] == mdts[idx]
    def add_entry_test(self):
        """Test MultiDimensionalTimeSeries.add_entry()."""
        data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
        mdts = MultiDimensionalTimeSeries(3)

        for entry in data:
            mdts.add_entry(len(mdts), entry)

        assert len(data) == len(mdts)

        for idx in xrange(len(data)):
            assert [idx] + data[idx] == mdts[idx]
Ejemplo n.º 5
0
    def multidimensionaltimeseries_test(self):
        """Test the initialization of the MultiDimensionalTimeSeries."""
        # read the number of rows from the database
        cur = self._db.cursor().execute("""SELECT COUNT(*) from TestTable""")
        nbrOfTuples = cur.fetchall()[0][0]

        # initialize a TimeSeries instance from a database cursor
        cur = self._db.cursor().execute("""SELECT timestamp, value, junk_one FROM TestTable""")
        ts = MultiDimensionalTimeSeries(dimensions=2)
        ts.initialize_from_sql_cursor(cur)

        # check if all values of the database got inserted into the TimeSeries
        assert len(ts) == nbrOfTuples
    def initialization_error_test(self):
        """Test for the ValueError raised by the MultiDimensionalTimeSeries."""
        MultiDimensionalTimeSeries(1)
        MultiDimensionalTimeSeries(4)
        try:
            MultiDimensionalTimeSeries(0)
        except ValueError:
            pass  # pragma: no cover

        try:
            MultiDimensionalTimeSeries(-4)
        except ValueError:
            pass  # pragma: no cover
Ejemplo n.º 7
0
    def timeseries_sorted_test(self):
        """Test the sorted_timeseries function."""
        data  = [[0.0, 0.0], [0.1, 0.1], [0.2, 0.2], [0.3, 0.3], [0.4, 0.4], [0.5, 0.5]]
        tsOne = MultiDimensionalTimeSeries(1).from_twodim_list(data)
        
        tsTwo = tsOne.sorted_timeseries()

        assert (tsOne == tsTwo)

        tsThree = tsOne.sorted_timeseries(False)

        assert tsOne == tsThree
        assert tsTwo == tsThree
Ejemplo n.º 8
0
    def multidimensionaltimeseries_test(self):
        """Test the initialization of the MultiDimensionalTimeSeries."""
        ## read the number of rows from the database
        cur = self._db.cursor().execute("""SELECT COUNT(*) from TestTable""")
        nbrOfTuples = cur.fetchall()[0][0]

        ## initialize a TimeSeries instance from a database cursor
        cur = self._db.cursor().execute("""SELECT timestamp, value, junk_one FROM TestTable""")
        ts = MultiDimensionalTimeSeries(dimensions=2)
        ts.initialize_from_sql_cursor(cur)

        ## check if all values of the database got inserted into the TimeSeries
        assert len(ts) == nbrOfTuples
Ejemplo n.º 9
0
 def gnuplot_serialization_without_format_test(self):
     """Test serialization of timeSeries into gnuplot file."""
     data  = [[0.0, 0.0], [0.1, 0.1], [0.2, 0.2], [0.3, 0.3], [0.4, 0.4], [0.5, 0.5]]
     tsOne = MultiDimensionalTimeSeries.from_twodim_list(data, dimensions=1)
     tsOne.to_gnuplot_datafile("temp_plot.dat")
     
     assert os.path.isfile("temp_plot.dat")
Ejemplo n.º 10
0
 def matrix_to_multi_dim_timeseries_test(self):
     """Test to create a Timeseries from a Matrix."""
     rows = 5
     cols = 3
     data = [
                 [2.4, 4.5, 6.1],
                 [3.6, 3.2, 9.4],
                 [5.6, 3.2, 8.7],
                 [4.3, 7.1, 3.3],
                 [7.2, 9.6, 0.3]
             ]
     mtrx = Matrix(cols, rows)
     mtrx.initialize(data, True)
     ts = mtrx.to_multi_dim_timeseries()
     tsData = [
                 [0, [2.4, 4.5, 6.1]],
                 [1, [3.6, 3.2, 9.4]],
                 [2, [5.6, 3.2, 8.7]],
                 [3, [4.3, 7.1, 3.3]],
                 [4, [7.2, 9.6, 0.3]]
             ]
     exTs = MDTS.from_twodim_list(tsData, dimensions=3)
     # expecting that TimeSeries.from_twodom_list() works properly
     self.assertEqual(ts, exTs)
     # Changing entries of the timeseries, should not affect matrix
     row = 3
     ts[row] = [row, 4, 3, 1]
     for col in xrange(cols):
         self.assertEqual(mtrx.get_value(col, row), data[row][col])
    def add_entry_error_test(self):
        """Test ValueError of MultiDimensionalTimeSeries.add_entry(...)."""
        MultiDimensionalTimeSeries(3).add_entry(1, [1, 2, 3])
        MultiDimensionalTimeSeries(4).add_entry(1, [1, 2, 3, 4])

        try:
            MultiDimensionalTimeSeries(3).add_entry(1, [1, 2])
        except ValueError:
            pass  # pragma: no cover

        try:
            MultiDimensionalTimeSeries(3).add_entry(1, [1, 2, 3, 4])
        except ValueError:
            pass  # pragma: no cover

        MultiDimensionalTimeSeries
 def normalize_test(self):
     """This is an empty test."""
     try:
         MultiDimensionalTimeSeries(3).normalize()
     except NotImplementedError:
         pass  # pragma: no cover
     else:
         assert False  # pragma: no cover
Ejemplo n.º 13
0
    def create_from_multi_dimensional_timeseries_test(self):
        """Test to cretae a Matrix from a multi dimensional Timeseries."""
        # initialize Timeseries
        dataOne = [[0.0, [0.0, 1.3]], [0.1, [0.5, 3.5]], [0.2, [0.2, 4.7]]]
        tsOne = MDTS.from_twodim_list(dataOne, dimensions=2)
        # create Matrix
        mtrx = Matrix.from_timeseries(tsOne)

        exRes = [[0.0, 0.5, 0.2], [1.3, 3.5, 4.7]]
        self.assertEqual(mtrx.matrix, exRes)
Ejemplo n.º 14
0
    def addition_test(self):
        """Test the addition of MultiDimensionalTimeSeries."""
        dataOne  = [[0.0, [0.0]], [0.1, [0.1]], [0.2, [0.2]], [0.3, [0.3]], [0.4, [0.4]], [0.5, [0.5]]]
        dataTwo  = [[0.0, [0.0]], [0.1, [0.1]], [0.2, [0.2]], [0.3, [0.3]], [0.4, [0.4]], [0.5, [0.5]]]
        data2Dim  = [[0.0, [0.0, 0.42]], [0.1, [0.1, 0.42]], [0.2, [0.2, 0.42]], [0.3, [0.3, 0.42]], [0.4, [0.4, 0.42]], [0.5, [0.5, 0.42]]]
        dataThree  = dataOne + dataTwo

        tsOne = MultiDimensionalTimeSeries.from_twodim_list(dataOne)
        tsTwo = MultiDimensionalTimeSeries.from_twodim_list(dataTwo)
        tsThree = MultiDimensionalTimeSeries.from_twodim_list(dataThree)
        tsFour = tsOne + tsTwo
        tsFive = MultiDimensionalTimeSeries.from_twodim_list(data2Dim, dimensions=2)

        assert tsFour == tsThree
        try:
            tsFive + tsOne
        except ValueError:
            pass    
        else:
            assert False    # pragma: no cover
Ejemplo n.º 15
0
    def copy_test(self):
        """Test TimeSeries cloning."""
        ts = MultiDimensionalTimeSeries.from_twodim_list([[0.5, 0.0], [1.5, 1.0], [2.5, 2.0], [3.5, 3.0], [4.5, 4.0], [5.5, 5.0]])
        tsClone = copy(ts)

        assert tsClone == ts
        
        ts[0][0] = 0.0
        assert ts != tsClone

        ts.add_entry(0.0, 1.1)
        assert len(ts) > len(tsClone)
    def equal_test(self):
        """Test the == operator for TimeSeries instances."""
        data = [[0.0, [0.0]], [0.1, [0.1]], [0.2, [0.2]], [0.3, [0.3]],
                [0.4, [0.4]], [0.5, [0.5]]]
        data2Dim = [[0.0, [0.0, 0.42]], [0.1, [0.1, 0.42]], [0.2, [0.2, 0.42]],
                    [0.3, [0.3, 0.42]], [0.4, [0.4, 0.42]], [0.5, [0.5, 0.42]]]

        tsOne = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsTwo = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsThree = MultiDimensionalTimeSeries.from_twodim_list(data[:-2])
        tsFour = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsFive = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsSix = MultiDimensionalTimeSeries.from_twodim_list(data2Dim,
                                                            dimensions=2)

        tsFour[1][0] = 1.3
        tsFive[1][1] = 1.3

        assert (tsOne == tsTwo)
        assert (tsOne != tsThree)
        assert (tsTwo != tsThree)
        assert (tsOne != tsFour)
        assert (tsOne != tsFive)
        assert (tsThree != tsFour)
        assert (tsThree != tsFive)
        assert (tsFour != tsFive)
        assert (tsSix != tsOne)
        assert (tsSix != tsTwo)
        assert (tsSix != tsThree)
        assert (tsSix != tsFour)
        assert (tsSix != tsFive)
    def equal_test(self):
        """Test the == operator for TimeSeries instances."""
        data  = [[0.0, [0.0]], [0.1, [0.1]], [0.2, [0.2]], [0.3, [0.3]], [0.4, [0.4]], [0.5, [0.5]]]
        data2Dim  = [[0.0, [0.0, 0.42]], [0.1, [0.1, 0.42]], [0.2, [0.2, 0.42]], [0.3, [0.3, 0.42]], [0.4, [0.4, 0.42]], [0.5, [0.5, 0.42]]]
        
        tsOne   = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsTwo   = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsThree = MultiDimensionalTimeSeries.from_twodim_list(data[:-2])
        tsFour  = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsFive  = MultiDimensionalTimeSeries.from_twodim_list(data)
        tsSix   = MultiDimensionalTimeSeries.from_twodim_list(data2Dim, dimensions=2)

        tsFour[1][0] = 1.3
        tsFive[1][1] = 1.3

        assert (tsOne == tsTwo)
        assert (tsOne != tsThree)
        assert (tsTwo != tsThree) 
        assert (tsOne != tsFour)  
        assert (tsOne != tsFive)  
        assert (tsThree != tsFour)
        assert (tsThree != tsFive)
        assert (tsFour != tsFive) 
        assert (tsSix != tsOne)
        assert (tsSix != tsTwo)
        assert (tsSix != tsThree)
        assert (tsSix != tsFour)
        assert (tsSix != tsFive)
Ejemplo n.º 18
0
    def create_from_multi_dimensional_timeseries_test(self):
        """Test to cretae a Matrix from a multi dimensional Timeseries."""
        # initialize Timeseries
        dataOne =  [
                        [0.0, [0.0, 1.3]],
                        [0.1, [0.5, 3.5]],
                        [0.2, [0.2, 4.7]]
                    ]
        tsOne = MDTS.from_twodim_list(dataOne, dimensions=2)
        # create Matrix
        mtrx = Matrix.from_timeseries(tsOne)

        exRes = [
                    [0.0, 0.5, 0.2],
                    [1.3, 3.5, 4.7]
                ]
        self.assertEqual(mtrx.matrix, exRes)
Ejemplo n.º 19
0
 def matrix_to_multi_dim_timeseries_test(self):
     """Test to create a Timeseries from a Matrix."""
     rows = 5
     cols = 3
     data = [[2.4, 4.5, 6.1], [3.6, 3.2, 9.4], [5.6, 3.2, 8.7],
             [4.3, 7.1, 3.3], [7.2, 9.6, 0.3]]
     mtrx = Matrix(cols, rows)
     mtrx.initialize(data, True)
     ts = mtrx.to_multi_dim_timeseries()
     tsData = [[0, [2.4, 4.5, 6.1]], [1, [3.6, 3.2, 9.4]],
               [2, [5.6, 3.2, 8.7]], [3, [4.3, 7.1, 3.3]],
               [4, [7.2, 9.6, 0.3]]]
     exTs = MDTS.from_twodim_list(tsData, dimensions=3)
     # expecting that TimeSeries.from_twodom_list() works properly
     self.assertEqual(ts, exTs)
     # Changing entries of the timeseries, should not affect matrix
     row = 3
     ts[row] = [row, 4, 3, 1]
     for col in xrange(cols):
         self.assertEqual(mtrx.get_value(col, row), data[row][col])
 def add_entry_format_test(self):
     """Test MultiDimensionalTimeSeries.add_entry with string timestamps."""
     mdts = MultiDimensionalTimeSeries(1)
     mdts.set_timeformat("%Y-%m-%d_%H:%M:%S")
     mdts.add_entry("2013-01-15_16:25:00", 42)
     mdts.add_entry("2013-01-15_16:25:00", [42])
 def dimension_count_test(self):
     """Test the dimension count."""
     assert MultiDimensionalTimeSeries(3).dimension_count() == 3
     assert MultiDimensionalTimeSeries(3).dimension_count() < 4
     assert MultiDimensionalTimeSeries(40).dimension_count() > 2
 def gnuplot_serialization_exception_handling_test(self):
     """Test serialization of timeSeries into gnuplot file."""
     data = [[0.0, 0.0], [0.1, 0.1], [0.2, 0.2], [0.3, 0.3], [0.4, 0.4],
             [0.5, 0.5]]
     tsOne = MultiDimensionalTimeSeries.from_twodim_list(data, dimensions=1)
     tsOne.to_gnuplot_datafile(None)
 def gnuplot_serialization_exception_handling_test(self):
     """Test serialization of timeSeries into gnuplot file."""
     data  = [[0.0, 0.0], [0.1, 0.1], [0.2, 0.2], [0.3, 0.3], [0.4, 0.4], [0.5, 0.5]]
     tsOne = MultiDimensionalTimeSeries.from_twodim_list(data, dimensions=1)
     tsOne.to_gnuplot_datafile(None)
 def add_entry_format_test(self):
     """Test MultiDimensionalTimeSeries.add_entry with string timestamps."""
     mdts = MultiDimensionalTimeSeries(1)
     mdts.set_timeformat("%Y-%m-%d_%H:%M:%S")
     mdts.add_entry("2013-01-15_16:25:00", 42)
     mdts.add_entry("2013-01-15_16:25:00", [42])