|
@@ -0,0 +1,86 @@
|
|
|
+'''
|
|
|
+Created on May 15, 2017
|
|
|
+
|
|
|
+@author: Bart
|
|
|
+'''
|
|
|
+import unittest
|
|
|
+
|
|
|
+from MatPlotLibWrapper import MatPlotLibWrapper
|
|
|
+from plot import Plot, DataSet, DataPoint, Color, LineStyle, XAxis, YAxis
|
|
|
+
|
|
|
+
|
|
|
+class Test(unittest.TestCase):
|
|
|
+
|
|
|
+ def setUp(self):
|
|
|
+ unittest.TestCase.setUp(self)
|
|
|
+ self.dps1 = []
|
|
|
+ self.dps1.append(DataPoint(0, 1))
|
|
|
+ self.dps1.append(DataPoint(0.1, 1.0))
|
|
|
+ self.dps1.append(DataPoint(0.2, 1.2))
|
|
|
+ self.dps1.append(DataPoint(0.3, 1.5))
|
|
|
+ self.dps1.append(DataPoint(0.4, 1.6))
|
|
|
+ self.dps1.append(DataPoint(0.5, 1.65))
|
|
|
+ self.dps1.append(DataPoint(0.6, 1.67))
|
|
|
+ self.dps2 = []
|
|
|
+ self.dps2.append(DataPoint(0, 2))
|
|
|
+ self.dps2.append(DataPoint(0.1, 2.1))
|
|
|
+ self.dps2.append(DataPoint(0.2, 2.2))
|
|
|
+ self.dps2.append(DataPoint(0.3, 2.0))
|
|
|
+ self.dps2.append(DataPoint(0.4, 1.6))
|
|
|
+ self.dps2.append(DataPoint(0.5, 1))
|
|
|
+ self.dps2.append(DataPoint(0.6, 0))
|
|
|
+ self.dps2.append(DataPoint(0.7, 0))
|
|
|
+ self.dps3 = []
|
|
|
+ self.dps3.append(DataPoint(0, 1.2))
|
|
|
+ self.dps3.append(DataPoint(0.2, 1.1))
|
|
|
+ self.dps3.append(DataPoint(0.4, 1))
|
|
|
+ self.mw = MatPlotLibWrapper()
|
|
|
+
|
|
|
+ def test_oneplot(self):
|
|
|
+ ds1 = DataSet(self.dps1, color=Color.BLUE, linestyle=LineStyle.X, legend="t1")
|
|
|
+ p1 = Plot([ds1], "test 1", x=XAxis("time", "s", 0, 1), y=YAxis("val", "kg/s**2", 0, 2), legend=True).to_json()
|
|
|
+ self.mw.visualize([p1])
|
|
|
+
|
|
|
+ def test_threeplots(self):
|
|
|
+ ds1 = DataSet(self.dps1, color=Color.RED, linestyle=LineStyle.X, legend="t1")
|
|
|
+ p1 = Plot([ds1], "test 1", x=XAxis("time", "s", 0, 1), y=YAxis("val1", "kg/s**2", 0, 2), legend=True).to_json()
|
|
|
+ ds2 = DataSet(self.dps2, color=Color.CYAN, linestyle=LineStyle.DASHED, legend="t2")
|
|
|
+ p2 = Plot([ds2], "test 2", x=XAxis("time", "seconds", 0, 1), y=YAxis("val2", "kg/s**2", 0, 3), legend=True).to_json()
|
|
|
+ ds3 = DataSet(self.dps3, color=Color.BLUE, linestyle=LineStyle.POINT, legend="t3")
|
|
|
+ p3 = Plot([ds3], "test 3", x=XAxis("time", "s", 0, 1), y=YAxis("val3", "kg/s**2", 0, 2), legend=True).to_json()
|
|
|
+ self.mw.visualize([p1, p2, p3])
|
|
|
+
|
|
|
+ def test_onemultiplot(self):
|
|
|
+ ds1 = DataSet(self.dps1, color=Color.RED, linestyle=LineStyle.X, legend="t1")
|
|
|
+ ds2 = DataSet(self.dps2, color=Color.CYAN, linestyle=LineStyle.DASHED, legend="t2")
|
|
|
+ ds3 = DataSet(self.dps3, color=Color.BLUE, linestyle=LineStyle.POINT, legend="t3")
|
|
|
+ p1 = Plot([ds1, ds2, ds3], "test 1+2+3", x=XAxis("time", "s", 0, 1), y=YAxis("val1", "kg/s**2", 0, 2), legend=True).to_json()
|
|
|
+ self.mw.visualize([p1])
|
|
|
+
|
|
|
+ def test_twomultiplot(self):
|
|
|
+ ds1 = DataSet(self.dps1, color=Color.RED, linestyle=LineStyle.X, legend="t1")
|
|
|
+ ds2 = DataSet(self.dps2, color=Color.CYAN, linestyle=LineStyle.DASHED, legend="t2")
|
|
|
+ ds3 = DataSet(self.dps3, color=Color.BLUE, linestyle=LineStyle.POINT, legend="t3")
|
|
|
+ p1 = Plot([ds1, ds2, ds3], "test 1+2+3", x=XAxis("time", "s", 0, 1), y=YAxis("val1", "kg/s**2", 0, 2), legend=True).to_json()
|
|
|
+ ds1 = DataSet(self.dps1, color=Color.GREEN, linestyle=LineStyle.CIRCLE, legend="t1'")
|
|
|
+ ds2 = DataSet(self.dps2, color=Color.BLACK, linestyle=LineStyle.DASHDOT, legend="t2'")
|
|
|
+ ds3 = DataSet(self.dps3, color=Color.MAGENTA, linestyle=LineStyle.STAR, legend="t3'")
|
|
|
+ p2 = Plot([ds1, ds2, ds3], "test 1+2+3'", x=XAxis("time", "s", 0, 0.8), y=YAxis("val1", "kg/s**2", 0, 2), legend=True).to_json()
|
|
|
+ self.mw.visualize([p1, p2])
|
|
|
+
|
|
|
+ def test_incomplete(self):
|
|
|
+ ds1 = DataSet(self.dps1)
|
|
|
+ p1 = Plot([ds1]).to_json()
|
|
|
+ self.mw.visualize([p1])
|
|
|
+
|
|
|
+ def test_multiplotincomplete(self):
|
|
|
+ ds1 = DataSet(self.dps1)
|
|
|
+ ds2 = DataSet(self.dps2)
|
|
|
+ ds3 = DataSet(self.dps3)
|
|
|
+ p1 = Plot([ds1, ds2, ds3]).to_json()
|
|
|
+ self.mw.visualize([p1])
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ #import sys;sys.argv = ['', 'Test.testName']
|
|
|
+ unittest.main()
|