Add source api and test
This commit is contained in:
@@ -2410,6 +2410,172 @@ class TestApi:
|
||||
self.leave(p)
|
||||
|
||||
|
||||
# 18 source
|
||||
|
||||
|
||||
def test_source(self):
|
||||
p = 'test_source'
|
||||
self.enter(p)
|
||||
|
||||
add_junction(p, ChangeSet({'id': 'j0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
|
||||
add_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]}))
|
||||
add_pattern(p, ChangeSet({'id' : 'p1', 'factors': [1.0, 2.0, 3.0]}))
|
||||
|
||||
add_source(p, ChangeSet({'node': 'j0', 's_type': SOURCE_TYPE_CONCEN, 'strength': 10.0, 'pattern': 'p0'}))
|
||||
s = get_source(p, 'j0')
|
||||
assert s['node'] == 'j0'
|
||||
assert s['s_type'] == SOURCE_TYPE_CONCEN
|
||||
assert s['strength'] == 10.0
|
||||
assert s['pattern'] == 'p0'
|
||||
|
||||
set_source(p, ChangeSet({'node': 'j0', 's_type': SOURCE_TYPE_FLOWPACED}))
|
||||
s = get_source(p, 'j0')
|
||||
assert s['node'] == 'j0'
|
||||
assert s['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert s['strength'] == 10.0
|
||||
assert s['pattern'] == 'p0'
|
||||
|
||||
set_source(p, ChangeSet({'node': 'j0', 'strength': 20.0}))
|
||||
s = get_source(p, 'j0')
|
||||
assert s['node'] == 'j0'
|
||||
assert s['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert s['strength'] == 20.0
|
||||
assert s['pattern'] == 'p0'
|
||||
|
||||
set_source(p, ChangeSet({'node': 'j0', 'pattern': 'p1'}))
|
||||
s = get_source(p, 'j0')
|
||||
assert s['node'] == 'j0'
|
||||
assert s['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert s['strength'] == 20.0
|
||||
assert s['pattern'] == 'p1'
|
||||
|
||||
delete_source(p, ChangeSet({'node': 'j0'}))
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
def test_source_op(self):
|
||||
p = 'test_source_op'
|
||||
self.enter(p)
|
||||
|
||||
add_junction(p, ChangeSet({'id': 'j0', 'x': 0.0, 'y': 10.0, 'elevation': 20.0}))
|
||||
add_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]}))
|
||||
add_pattern(p, ChangeSet({'id' : 'p1', 'factors': [1.0, 2.0, 3.0]}))
|
||||
|
||||
cs = add_source(p, ChangeSet({'node': 'j0', 's_type': SOURCE_TYPE_CONCEN, 'strength': 10.0, 'pattern': 'p0'})).operations[0]
|
||||
assert cs['operation'] == API_ADD
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_CONCEN
|
||||
assert cs['strength'] == 10.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_DELETE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_ADD
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_CONCEN
|
||||
assert cs['strength'] == 10.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = set_source(p, ChangeSet({'node': 'j0', 's_type': SOURCE_TYPE_FLOWPACED})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 10.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_CONCEN
|
||||
assert cs['strength'] == 10.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 10.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = set_source(p, ChangeSet({'node': 'j0', 'strength': 20.0})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 20.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 10.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 20.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = set_source(p, ChangeSet({'node': 'j0', 'pattern': 'p1'})).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 20.0
|
||||
assert cs['pattern'] == 'p1'
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 20.0
|
||||
assert cs['pattern'] == 'p0'
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_UPDATE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 20.0
|
||||
assert cs['pattern'] == 'p1'
|
||||
|
||||
cs = delete_source(p, ChangeSet({'node': 'j0'})).operations[0]
|
||||
assert cs['operation'] == API_DELETE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
|
||||
cs = execute_undo(p).operations[0]
|
||||
assert cs['operation'] == API_ADD
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
assert cs['s_type'] == SOURCE_TYPE_FLOWPACED
|
||||
assert cs['strength'] == 20.0
|
||||
assert cs['pattern'] == 'p1'
|
||||
|
||||
cs = execute_redo(p).operations[0]
|
||||
assert cs['operation'] == API_DELETE
|
||||
assert cs['type'] == 'source'
|
||||
assert cs['node'] == 'j0'
|
||||
|
||||
self.leave(p)
|
||||
|
||||
|
||||
# 21 time
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user