def test_heterogeneous_tree_section(): participant = ExperimentSection.new(make_heterogeneous_tree()) assert participant.level == 'participant' assert len(participant) == 3 practice_session = participant[1] test_sessions = participant[2:] assert practice_session.level == test_sessions[0].level == test_sessions[1].level == 'session' assert len(practice_session) == 1 assert len(test_sessions[0]) == len(test_sessions[1]) == 2 practice_block = practice_session[1] assert practice_block.level == 'block' assert practice_block.data['design'] == 'practice' assert practice_block.data['block'] == 1 and practice_block.data['session'] == 1 assert len(practice_block) == 2*20 assert all(trial.data['difficulty'] in (1, 2) for trial in practice_block) test_block = test_sessions[1][2] assert test_block.level == 'block' assert test_block.data['design'] == 'test' assert test_block.data['block'] == 2 and test_block.data['session'] == 3 assert len(test_block) == 4*5 assert all(trial.data['difficulty'] in (1, 3, 5, 7) for trial in test_block)
import numpy as np import pytest from experimentator import yaml from tests.test_design import make_heterogeneous_tree @pytest.mark.parametrize('data', [ np.random.randn(5), 1 + 1j, np.array([1, 1 + 1j, 1j]), np.arange(200, 220), make_heterogeneous_tree(), ]) def test_round_trip(data): cmp = yaml.load(yaml.dump(data)) == data if isinstance(cmp, np.ndarray): assert np.all(cmp) else: assert cmp
import numpy as np import pytest from experimentator import yaml from tests.test_design import make_heterogeneous_tree @pytest.mark.parametrize('data', [ np.random.randn(5), 1+1j, np.array([1, 1+1j, 1j]), np.arange(200, 220), make_heterogeneous_tree(), ]) def test_round_trip(data): cmp = yaml.load(yaml.dump(data)) == data if isinstance(cmp, np.ndarray): assert np.all(cmp) else: assert cmp