Refine pattern

This commit is contained in:
WQY\qiong
2022-11-04 22:49:24 +08:00
parent f9de76ee1d
commit 36f5112f32
2 changed files with 119 additions and 35 deletions

View File

@@ -1594,24 +1594,31 @@ class TestApi:
self.enter(p)
assert is_pattern(p, 'p0') == False
p0 = get_pattern(p, 'p0')
assert p0['id'] == 'p0'
assert p0['factors'] == []
set_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]}))
add_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]}))
assert is_pattern(p, 'p0')
p0 = get_pattern(p, 'p0')
assert p0['id'] == 'p0'
assert p0['factors'] == [1.0, 2.0, 3.0]
set_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0]}))
assert is_pattern(p, 'p0')
p0 = get_pattern(p, 'p0')
assert p0['id'] == 'p0'
assert p0['factors'] == [1.0, 2.0]
set_pattern(p, ChangeSet({'id' : 'p0', 'factors': []}))
assert is_pattern(p, 'p0') == False
assert is_pattern(p, 'p0')
p0 = get_pattern(p, 'p0')
assert p0['id'] == 'p0'
assert p0['factors'] == []
delete_pattern(p, ChangeSet({'id' : 'p0'}))
assert is_pattern(p, 'p0') == False
self.leave(p)
@@ -1619,23 +1626,74 @@ class TestApi:
p = 'test_pattern_op'
self.enter(p)
cs = set_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]})).operations[0]
assert cs['operation'] == API_UPDATE
cs = add_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0, 3.0]})).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == [1.0, 2.0, 3.0]
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_DELETE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == [1.0, 2.0, 3.0]
cs = set_pattern(p, ChangeSet({'id' : 'p0', 'factors': [1.0, 2.0]})).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == []
assert cs['factors'] == [1.0, 2.0]
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == [1.0, 2.0, 3.0]
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == [1.0, 2.0, 3.0]
assert cs['factors'] == [1.0, 2.0]
cs = set_pattern(p, ChangeSet({'id' : 'p0', 'factors': []})).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == []
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == [1.0, 2.0]
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == []
cs = delete_pattern(p, ChangeSet({'id' : 'p0'})).operations[0]
assert cs['operation'] == API_DELETE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
cs = execute_undo(p).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
assert cs['factors'] == []
cs = execute_redo(p).operations[0]
assert cs['operation'] == API_DELETE
assert cs['type'] == PATTERN
assert cs['id'] == 'p0'
self.leave(p)