90 lines
4.1 KiB
Python
90 lines
4.1 KiB
Python
import unittest
|
|
from datetime import datetime
|
|
|
|
import secondodb.api.algebras.secondospatiotemporalalgebra as spatiotemporal
|
|
import secondodb.api.algebras.secondospatialalgebra as spatial
|
|
import secondodb.api.secondoapi as api
|
|
|
|
|
|
class TestSpatioTemporalAlgebra(unittest.TestCase):
|
|
|
|
def setUp(self):
|
|
HOST = '127.0.0.1'
|
|
PORT = '1234'
|
|
|
|
self.connection = api.connect(HOST, PORT, database='BERLINTEST')
|
|
self.cursor = self.connection.cursor()
|
|
|
|
def test_parse_mpoint(self):
|
|
response = self.cursor.execute_simple_query('train1')
|
|
self.assertIsInstance(response, spatiotemporal.MPoint)
|
|
self.assertIsInstance(response.intervals, list)
|
|
self.assertTrue(len(response.intervals) == 113)
|
|
self.assertIsInstance(response.intervals[0], spatiotemporal.PointInInterval)
|
|
|
|
point_in_interval = response.intervals[0]
|
|
self.assertIsInstance(point_in_interval.interval, spatiotemporal.Interval)
|
|
self.assertIsInstance(point_in_interval.motion_vector, spatiotemporal.MotionVector)
|
|
|
|
def test_parse_mregion(self):
|
|
response = self.cursor.execute_simple_query('msnow')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.MRegion)
|
|
self.assertIsInstance(response.intervals, list)
|
|
self.assertTrue(len(response.intervals) == 5)
|
|
self.assertIsInstance(response.intervals[0], spatiotemporal.RegionInInterval)
|
|
|
|
region_in_interval = response.intervals[0]
|
|
self.assertIsInstance(region_in_interval.interval, spatiotemporal.Interval)
|
|
self.assertIsInstance(region_in_interval.map_faces, list)
|
|
|
|
def test_parse_iregion(self):
|
|
response = self.cursor.execute_simple_query('mrain atinstant instant("2003-11-20-06:06")')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.IRegion)
|
|
self.assertIsInstance(response.instant, datetime)
|
|
self.assertIsInstance(response.region, spatial.Region)
|
|
|
|
def test_parse_ipoint(self):
|
|
response = self.cursor.execute_simple_query('train1 atinstant instant("2003-11-20-06:06")')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.IPoint)
|
|
self.assertIsInstance(response.instant, datetime)
|
|
self.assertIsInstance(response.point, spatial.Point)
|
|
|
|
def test_parse_mint(self):
|
|
response = self.cursor.execute_simple_query('noAtCenter')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.MInt)
|
|
self.assertIsInstance(response.intervals, list)
|
|
self.assertIsInstance(response.intervals[0], spatiotemporal.IntInInterval)
|
|
self.assertIsInstance(response.intervals[0].interval, spatiotemporal.Interval)
|
|
self.assertIsInstance(response.intervals[0].value_vector, spatiotemporal.ValueVectorInt)
|
|
|
|
def test_parse_mstring(self):
|
|
response = self.cursor.execute_simple_query('train7downsights')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.MString)
|
|
self.assertIsInstance(response.intervals, list)
|
|
self.assertIsInstance(response.intervals[0], spatiotemporal.StringInInterval)
|
|
self.assertIsInstance(response.intervals[0].interval, spatiotemporal.Interval)
|
|
self.assertIsInstance(response.intervals[0].value_vector, spatiotemporal.ValueVectorString)
|
|
|
|
def test_parse_mreal(self):
|
|
response = self.cursor.execute_simple_query('mreal5000')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.MReal)
|
|
self.assertIsInstance(response.intervals, list)
|
|
self.assertIsInstance(response.intervals[0], spatiotemporal.RealInInterval)
|
|
self.assertIsInstance(response.intervals[0].interval, spatiotemporal.Interval)
|
|
self.assertIsInstance(response.intervals[0].value_vector, spatiotemporal.ValueVectorReal)
|
|
|
|
def test_parse_mbool(self):
|
|
response = self.cursor.execute_simple_query('test_mbool3')
|
|
|
|
self.assertIsInstance(response, spatiotemporal.MBool)
|
|
self.assertIsInstance(response.intervals, list)
|
|
self.assertIsInstance(response.intervals[0], spatiotemporal.BoolInInterval)
|
|
self.assertIsInstance(response.intervals[0].interval, spatiotemporal.Interval)
|
|
self.assertIsInstance(response.intervals[0].value_vector, spatiotemporal.ValueVectorBool)
|