P08-03: 配置の通常操作受入
This commit is contained in:
@@ -329,6 +329,41 @@ class EvidenceTests(unittest.TestCase):
|
||||
self.edit('os-pair/unsupported-1/observed.json', lambda d: d.update(events=[]))
|
||||
self.reject('missing OS events')
|
||||
|
||||
def test_os_dispatch_missing(self):
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][0]['position'].pop('dispatch'))
|
||||
self.reject('dispatch')
|
||||
|
||||
def test_os_wrong_actual_input_cell(self):
|
||||
# Keep event and action mutually consistent; independent conversion must reject.
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][0]['position']['dispatch']['world_cell'].__setitem__(0, 99))
|
||||
self.edit('os-pair/unsupported-1/observed.json', lambda d: d['events'][0]['dispatch']['world_cell'].__setitem__(0, 99))
|
||||
self.reject('OS actual input cell drift')
|
||||
|
||||
def test_os_event_position_disagrees(self):
|
||||
self.edit('os-pair/unsupported-1/observed.json', lambda d: d['events'][0].update(position=[0,0]))
|
||||
self.reject('OS dispatch event mismatch')
|
||||
|
||||
def test_os_wrong_selected_entity(self):
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][-1]['position']['selection'].update(entity_id='wrong'))
|
||||
self.reject('OS selected entity mismatch')
|
||||
|
||||
def test_os_wrong_selected_occupancy(self):
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][-1]['position']['selection'].update(entity_id='wrong', occupant_id='wrong'))
|
||||
self.reject('OS selected occupancy mismatch')
|
||||
|
||||
def test_os_selection_requirement_cannot_be_removed(self):
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][-1]['position']['selection'].update(required=False))
|
||||
self.reject('OS missing entity selection')
|
||||
|
||||
def test_os_dispatch_transform_drift(self):
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][0]['position']['dispatch'].update(pan=[100,0]))
|
||||
self.edit('os-pair/unsupported-1/observed.json', lambda d: d['events'][0]['dispatch'].update(pan=[100,0]))
|
||||
self.reject('OS dispatch transform drift')
|
||||
|
||||
def test_os_later_getter_is_diagnostic(self):
|
||||
self.edit('os-pair/writer-actions.json', lambda d: d['actions'][-1]['position']['diagnostics'].update(getter_cell=[999,999,0]))
|
||||
self.assertEqual([], C.check(self.root, self.out))
|
||||
|
||||
def test_os_ack_for_another_request(self):
|
||||
self.edit('os-pair/unsupported-1/ack.json', lambda d: d.update(request_sha256='0'*64))
|
||||
self.reject('OS ack request mismatch')
|
||||
|
||||
Reference in New Issue
Block a user