Skip to content

Commit 1faff19

Browse files
authored
Always include at least one category in random test data (#9436)
* Always include at least one category in random test data Otherwise, creating test data can fail randomly, depending on how the random number generator is seeded. (Note: we would ideally avoid using a random number generator or fix the random seed so test data is entirely deterministic, but that's a bigger refactor...) * use RandomState object
1 parent 4013ffa commit 1faff19

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

xarray/tests/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,16 +324,16 @@ def create_test_data(
324324
obj["var4"] = (
325325
"dim1",
326326
pd.Categorical(
327-
np.random.choice(
328-
list(string.ascii_lowercase[: np.random.randint(5)]),
327+
rs.choice(
328+
list(string.ascii_lowercase[: rs.randint(1, 5)]),
329329
size=dim_sizes[0],
330330
)
331331
),
332332
)
333333
if dim_sizes == _DEFAULT_TEST_DIM_SIZES:
334334
numbers_values = np.array([0, 1, 2, 0, 0, 1, 1, 2, 2, 3], dtype="int64")
335335
else:
336-
numbers_values = np.random.randint(0, 3, _dims["dim3"], dtype="int64")
336+
numbers_values = rs.randint(0, 3, _dims["dim3"], dtype="int64")
337337
obj.coords["numbers"] = ("dim3", numbers_values)
338338
obj.encoding = {"foo": "bar"}
339339
assert_writeable(obj)

0 commit comments

Comments
 (0)