Skip to content

Commit b599b88

Browse files
author
Norbert Kozlowski
committed
Better package naming
1 parent c61ec17 commit b599b88

File tree

11 files changed

+39
-10
lines changed

11 files changed

+39
-10
lines changed

gym_maze/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from gym.envs.registration import register
22

33
# noinspection PyUnresolvedReferences
4-
from gym_maze.Maze import Maze, PATH_MAPPING, WALL_MAPPING, REWARD_MAPPING
4+
from .maze import Maze, PATH_MAPPING, WALL_MAPPING, REWARD_MAPPING
55

66
ACTION_LOOKUP = {
77
0: 'N',

gym_maze/envs/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from gym_maze.envs.AbstractMaze import AbstractMaze
1+
from gym_maze.envs.abstract_maze import AbstractMaze
22
from gym_maze.envs.MazeF1 import MazeF1
33
from gym_maze.envs.MazeF2 import MazeF2
44
from gym_maze.envs.MazeF3 import MazeF3

gym_maze/envs/AbstractMaze.py renamed to gym_maze/envs/abstract_maze.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import numpy as np
77
from gym import spaces, utils
88

9-
from gym_maze import Maze, WALL_MAPPING, ACTION_LOOKUP
9+
from gym_maze import ACTION_LOOKUP
10+
from gym_maze.maze import Maze, WALL_MAPPING
1011
from gym_maze.utils import get_all_possible_transitions
1112

1213
ANIMAT_MARKER = 5
File renamed without changes.

gym_maze/utils/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import networkx as nx
22

33
from gym_maze import find_action_by_direction
4-
from gym_maze.Maze import Maze
4+
from gym_maze.maze import Maze
55

66

77
def get_all_possible_transitions(maze):

gym_multiplexer/boolean_multiplexer.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
class BooleanMultiplexer(gym.Env):
1010

1111
def __init__(self, control_bits=3) -> None:
12-
self.metadata = {'render.modes': ['human']}
1312
self.control_bits = control_bits
13+
self.metadata = {'render.modes': ['human']}
1414
self.observation_space = Discrete(len(self._observation_string_length))
1515
self.action_space = Discrete(2)
1616

@@ -36,12 +36,13 @@ def _render(self, mode='human', close=False):
3636
return
3737

3838
if mode == 'human':
39-
return self.control_bits + self._data_bits
39+
return self._observation()
4040
else:
4141
super(BooleanMultiplexer, self).render(mode=mode)
4242

43-
def _observation(self):
44-
return self.control_bits + self._data_bits
43+
def _observation(self) -> str:
44+
bit_array = self._ctrl_bits + self._data_bits
45+
return bit_array.bin
4546

4647
@property
4748
def _observation_string_length(self):

gym_multiplexer/tests/test_multiplexer.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def test_should_render_state(self):
3232
# then
3333
assert state is not None
3434
assert 3 == len(state)
35+
assert type(state) is str
3536

3637
def test_should_execute_step(self):
3738
# given
@@ -44,6 +45,7 @@ def test_should_execute_step(self):
4445

4546
# then
4647
assert state is not None
48+
assert type(state) is str
4749
assert reward in [0, 1]
4850
assert done is True
4951

gym_multiplexer/tests/test_utils.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from gym_multiplexer.utils import get_correct_answer
2+
3+
4+
class TestUtils:
5+
6+
def test_should_calculate_correct_answer_for_3bit_multiplexer(self):
7+
assert 1 == get_correct_answer('010', 1)
8+
assert 0 == get_correct_answer('110', 1)
9+
10+
def test_should_calculate_correct_answer_for_6bit_multiplexer(self):
11+
assert 0 == get_correct_answer('110100', 2)
12+
13+
def test_should_calculate_correct_answer_for_11bit_multiplexer(self):
14+
assert 1 == get_correct_answer('101101101', 3)

gym_multiplexer/utils/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .utils import get_correct_answer

gym_multiplexer/utils/utils.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from bitstring import BitString, BitArray
2+
3+
4+
def get_correct_answer(bitstring: str, control_bits: int) -> int:
5+
bits = BitString(bin=bitstring)
6+
7+
_ctrl_bits = bits[:control_bits]
8+
_data_bits = bits[control_bits:]
9+
10+
return int(_data_bits[_ctrl_bits.uint])

0 commit comments

Comments
 (0)