|
|
|
|
|
|
def test_initialialization(): |
|
|
|
with mock.patch('subprocess.Popen') as mock_subproc_popen: |
|
|
|
with mock.patch('socket.socket') as mock_socket: |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
with pytest.raises(UnityActionException): |
|
|
|
env.step([0]) |
|
|
|
assert env.brain_names[0] == 'RealFakeBrain' |
|
|
|
env.close() |
|
|
|
with mock.patch('glob.glob') as mock_glob: |
|
|
|
mock_glob.return_value = ['FakeLaunchPath'] |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
with pytest.raises(UnityActionException): |
|
|
|
env.step([0]) |
|
|
|
assert env.brain_names[0] == 'RealFakeBrain' |
|
|
|
env.close() |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
brain = env.brains['RealFakeBrain'] |
|
|
|
mock_socket.recv.side_effect = dummy_reset |
|
|
|
brain_info = env.reset() |
|
|
|
env.close() |
|
|
|
assert not env.global_done |
|
|
|
assert isinstance(brain_info, dict) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'], BrainInfo) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].observations, list) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].states, np.ndarray) |
|
|
|
assert len(brain_info['RealFakeBrain'].observations) == brain.number_observations |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[0] == len(brain_info['RealFakeBrain'].agents) |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[1] == brain.state_space_size |
|
|
|
with mock.patch('glob.glob') as mock_glob: |
|
|
|
mock_glob.return_value = ['FakeLaunchPath'] |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
brain = env.brains['RealFakeBrain'] |
|
|
|
mock_socket.recv.side_effect = dummy_reset |
|
|
|
brain_info = env.reset() |
|
|
|
env.close() |
|
|
|
assert not env.global_done |
|
|
|
assert isinstance(brain_info, dict) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'], BrainInfo) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].observations, list) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].states, np.ndarray) |
|
|
|
assert len(brain_info['RealFakeBrain'].observations) == brain.number_observations |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[0] == len(brain_info['RealFakeBrain'].agents) |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[1] == brain.state_space_size |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
brain = env.brains['RealFakeBrain'] |
|
|
|
mock_socket.recv.side_effect = dummy_reset |
|
|
|
brain_info = env.reset() |
|
|
|
mock_socket.recv.side_effect = dummy_step |
|
|
|
brain_info = env.step([0] * brain.action_space_size * len(brain_info['RealFakeBrain'].agents)) |
|
|
|
with pytest.raises(UnityActionException): |
|
|
|
env.step([0]) |
|
|
|
brain_info = env.step([0] * brain.action_space_size * len(brain_info['RealFakeBrain'].agents)) |
|
|
|
with pytest.raises(UnityActionException): |
|
|
|
env.step([0] * brain.action_space_size * len(brain_info['RealFakeBrain'].agents)) |
|
|
|
env.close() |
|
|
|
assert env.global_done |
|
|
|
assert isinstance(brain_info, dict) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'], BrainInfo) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].observations, list) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].states, np.ndarray) |
|
|
|
assert len(brain_info['RealFakeBrain'].observations) == brain.number_observations |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[0] == len(brain_info['RealFakeBrain'].agents) |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[1] == brain.state_space_size |
|
|
|
assert not brain_info['RealFakeBrain'].local_done[0] |
|
|
|
assert brain_info['RealFakeBrain'].local_done[2] |
|
|
|
with mock.patch('glob.glob') as mock_glob: |
|
|
|
mock_glob.return_value = ['FakeLaunchPath'] |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
brain = env.brains['RealFakeBrain'] |
|
|
|
mock_socket.recv.side_effect = dummy_reset |
|
|
|
brain_info = env.reset() |
|
|
|
mock_socket.recv.side_effect = dummy_step |
|
|
|
brain_info = env.step([0] * brain.action_space_size * len(brain_info['RealFakeBrain'].agents)) |
|
|
|
with pytest.raises(UnityActionException): |
|
|
|
env.step([0]) |
|
|
|
brain_info = env.step([0] * brain.action_space_size * len(brain_info['RealFakeBrain'].agents)) |
|
|
|
with pytest.raises(UnityActionException): |
|
|
|
env.step([0] * brain.action_space_size * len(brain_info['RealFakeBrain'].agents)) |
|
|
|
env.close() |
|
|
|
assert env.global_done |
|
|
|
assert isinstance(brain_info, dict) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'], BrainInfo) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].observations, list) |
|
|
|
assert isinstance(brain_info['RealFakeBrain'].states, np.ndarray) |
|
|
|
assert len(brain_info['RealFakeBrain'].observations) == brain.number_observations |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[0] == len(brain_info['RealFakeBrain'].agents) |
|
|
|
assert brain_info['RealFakeBrain'].states.shape[1] == brain.state_space_size |
|
|
|
assert not brain_info['RealFakeBrain'].local_done[0] |
|
|
|
assert brain_info['RealFakeBrain'].local_done[2] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with mock.patch('socket.socket') as mock_socket: |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
assert env._loaded |
|
|
|
env.close() |
|
|
|
assert not env._loaded |
|
|
|
mock_socket.close.assert_called_once() |
|
|
|
with mock.patch('glob.glob') as mock_glob: |
|
|
|
mock_glob.return_value = ['FakeLaunchPath'] |
|
|
|
mock_socket.return_value.accept.return_value = (mock_socket, 0) |
|
|
|
mock_socket.recv.return_value.decode.return_value = dummy_start |
|
|
|
env = UnityEnvironment(' ') |
|
|
|
assert env._loaded |
|
|
|
env.close() |
|
|
|
assert not env._loaded |
|
|
|
mock_socket.close.assert_called_once() |
|
|
|
|
|
|
|
|
|
|
|
|