santit96 commited on
Commit
b8d0d32
·
1 Parent(s): 79febd9

Fix env tests

Browse files
Files changed (2) hide show
  1. wordle_env/__init__.py +3 -0
  2. wordle_env/test_wordle.py +16 -27
wordle_env/__init__.py CHANGED
@@ -7,6 +7,9 @@ from gym.envs.registration import (
7
  )
8
  import os
9
  from . import wordle
 
 
 
10
 
11
 
12
  register(
 
7
  )
8
  import os
9
  from . import wordle
10
+ # Classic
11
+ # ----------------------------------------
12
+ current_dir = os.path.realpath(os.path.dirname(__file__))
13
 
14
 
15
  register(
wordle_env/test_wordle.py CHANGED
@@ -1,7 +1,7 @@
1
  import pytest
2
 
3
- import wordle
4
- import state
5
 
6
  TESTWORDS = [
7
  "APPAA",
@@ -50,14 +50,12 @@ def test_guess_win(wordleEnv):
50
  def test_win_reward(wordleEnv):
51
  wordleEnv.reset(seed=13)
52
  goal = wordleEnv.goal_word
53
- word_index = (wordleEnv.words.index(
54
- wordleEnv.decode_word(goal)) + 1) % len(wordleEnv.words)
55
- new_state, reward, done, _ = wordleEnv.step(
56
- wordleEnv.encode_word(wordleEnv.words[word_index]))
57
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-1
58
  assert not done
59
  assert not wordleEnv.done
60
- assert reward == 0
61
 
62
  new_state, reward, done, _ = wordleEnv.step(goal)
63
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-2
@@ -75,9 +73,7 @@ def test_win_reward(wordleEnv):
75
  def test_win_reward_6(wordleEnv):
76
  wordleEnv.reset(seed=13)
77
  goal = wordleEnv.goal_word
78
- word_index = (wordleEnv.words.index(
79
- wordleEnv.decode_word(goal)) + 1) % len(wordleEnv.words)
80
- random_word = wordleEnv.encode_word(wordleEnv.words[word_index])
81
 
82
  for i in range(5):
83
  new_state, reward, done, _ = wordleEnv.step(random_word)
@@ -93,24 +89,21 @@ def test_win_reward_6(wordleEnv):
93
  def test_lose_reward(wordleEnv):
94
  wordleEnv.reset(seed=13)
95
  goal = wordleEnv.goal_word
96
- word_index = (wordleEnv.words.index(
97
- wordleEnv.decode_word(goal)) + 1) % len(wordleEnv.words)
98
- random_word = wordleEnv.encode_word(wordleEnv.words[word_index])
99
  for i in range(1, wordleEnv.max_turns):
100
  new_state, reward, done, _ = wordleEnv.step(random_word)
101
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-i
102
  assert not done
103
  assert not wordleEnv.done
104
- assert reward == 0
105
 
106
- word_index = (wordleEnv.words.index(wordleEnv.decode_word(
107
- goal)) + wordleEnv.max_turns) % len(wordleEnv.words)
108
- random_word = wordleEnv.encode_word(wordleEnv.words[word_index])
109
  new_state, reward, done, _ = wordleEnv.step(random_word)
110
  assert state.remaining_steps(new_state) == 0
111
  assert done
112
  assert wordleEnv.done
113
- assert reward == -wordle.REWARD
114
 
115
  try:
116
  wordleEnv.step(goal)
@@ -121,11 +114,10 @@ def test_lose_reward(wordleEnv):
121
 
122
  def test_step(wordleEnv):
123
  wordleEnv.reset(seed=13)
124
- wordleEnv.set_goal_encoded(wordleEnv.encode_word(wordleEnv.words[0]))
125
 
126
  cur_state = wordleEnv.state
127
- new_state, reward, done, _ = wordleEnv.step(
128
- wordleEnv.encode_word(wordleEnv.words[1]))
129
  assert state.remaining_steps(cur_state) == wordleEnv.max_turns
130
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-1
131
  # Expect B to be all 1,0,0
@@ -156,8 +148,7 @@ def test_step(wordleEnv):
156
  1, 0, 0,
157
  0, 0, 0)
158
  cur_state = wordleEnv.state
159
- new_state, reward, done, _ = wordleEnv.step(
160
- wordleEnv.encode_word(wordleEnv.words[1]))
161
  assert state.remaining_steps(cur_state) == wordleEnv.max_turns-1
162
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-2
163
  # Expect B to be all 1,0,0
@@ -180,8 +171,7 @@ def test_step(wordleEnv):
180
  1, 0, 0,
181
  0, 0, 0)
182
 
183
- new_state, reward, done, _ = wordleEnv.step(
184
- wordleEnv.encode_word(wordleEnv.words[2]))
185
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-3
186
  # Expect B to be all 1,0,0
187
  offset = 1 + 3*5*(ord('B')-ord('A'))
@@ -207,8 +197,7 @@ def test_step(wordleEnv):
207
  1, 0, 0,
208
  0, 0, 0)
209
 
210
- new_state, reward, done, _ = wordleEnv.step(
211
- wordleEnv.encode_word(wordleEnv.words[0]))
212
  # Expect A to be right in position 0 4 and 5
213
  offset = 1
214
  assert tuple(new_state[offset:offset+15]) == (0, 0, 1,
 
1
  import pytest
2
 
3
+ from . import wordle
4
+ from . import state
5
 
6
  TESTWORDS = [
7
  "APPAA",
 
50
  def test_win_reward(wordleEnv):
51
  wordleEnv.reset(seed=13)
52
  goal = wordleEnv.goal_word
53
+ word_index = (goal + 1) % len(wordleEnv.words)
54
+ new_state, reward, done, _ = wordleEnv.step(word_index)
 
 
55
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-1
56
  assert not done
57
  assert not wordleEnv.done
58
+ assert reward < 1
59
 
60
  new_state, reward, done, _ = wordleEnv.step(goal)
61
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-2
 
73
  def test_win_reward_6(wordleEnv):
74
  wordleEnv.reset(seed=13)
75
  goal = wordleEnv.goal_word
76
+ random_word = (goal + 1) % len(wordleEnv.words)
 
 
77
 
78
  for i in range(5):
79
  new_state, reward, done, _ = wordleEnv.step(random_word)
 
89
  def test_lose_reward(wordleEnv):
90
  wordleEnv.reset(seed=13)
91
  goal = wordleEnv.goal_word
92
+ random_word = (goal + 1) % len(wordleEnv.words)
 
 
93
  for i in range(1, wordleEnv.max_turns):
94
  new_state, reward, done, _ = wordleEnv.step(random_word)
95
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-i
96
  assert not done
97
  assert not wordleEnv.done
98
+ assert reward < 1
99
 
100
+ word_index = (goal + wordleEnv.max_turns) % len(wordleEnv.words)
101
+ random_word = word_index
 
102
  new_state, reward, done, _ = wordleEnv.step(random_word)
103
  assert state.remaining_steps(new_state) == 0
104
  assert done
105
  assert wordleEnv.done
106
+ assert reward < -wordle.REWARD + 1
107
 
108
  try:
109
  wordleEnv.step(goal)
 
114
 
115
  def test_step(wordleEnv):
116
  wordleEnv.reset(seed=13)
117
+ wordleEnv.set_goal_encoded(0)
118
 
119
  cur_state = wordleEnv.state
120
+ new_state, reward, done, _ = wordleEnv.step(1)
 
121
  assert state.remaining_steps(cur_state) == wordleEnv.max_turns
122
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-1
123
  # Expect B to be all 1,0,0
 
148
  1, 0, 0,
149
  0, 0, 0)
150
  cur_state = wordleEnv.state
151
+ new_state, reward, done, _ = wordleEnv.step(1)
 
152
  assert state.remaining_steps(cur_state) == wordleEnv.max_turns-1
153
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-2
154
  # Expect B to be all 1,0,0
 
171
  1, 0, 0,
172
  0, 0, 0)
173
 
174
+ new_state, reward, done, _ = wordleEnv.step(2)
 
175
  assert state.remaining_steps(new_state) == wordleEnv.max_turns-3
176
  # Expect B to be all 1,0,0
177
  offset = 1 + 3*5*(ord('B')-ord('A'))
 
197
  1, 0, 0,
198
  0, 0, 0)
199
 
200
+ new_state, reward, done, _ = wordleEnv.step(0)
 
201
  # Expect A to be right in position 0 4 and 5
202
  offset = 1
203
  assert tuple(new_state[offset:offset+15]) == (0, 0, 1,