def test_question_path_to_path_nodes(self): """ Confirm that _question_path_to_path_nodes() works as expected """ repeat_groups = [ "/data/repeat1", "/data/group1/repeat2", "/data/group1/repeat2/repeat3", ] self.assertEqual( _question_path_to_path_nodes("/data/repeat1", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='repeat1', is_repeat=True) ]) self.assertEqual( _question_path_to_path_nodes("/data/group1", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False) ]) self.assertEqual( _question_path_to_path_nodes("/data/group1/repeat2", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False), PathNode(name='repeat2', is_repeat=True), ]) self.assertEqual( _question_path_to_path_nodes("/data/group1/repeat2/repeat3", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False), PathNode(name='repeat2', is_repeat=True), PathNode(name='repeat3', is_repeat=True), ]) self.assertEqual( _question_path_to_path_nodes("/data/group1/repeat2/repeat3/group2", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False), PathNode(name='repeat2', is_repeat=True), PathNode(name='repeat3', is_repeat=True), PathNode(name='group2', is_repeat=False), ])
def test_allow_non_data_nodes(self): """ Ensure that we allow non data nodes """ self.assertEqual(_question_path_to_path_nodes("/nodata/question", []), [ PathNode(name='form', is_repeat=False), PathNode(name='question', is_repeat=False), ])
def test_question_path_to_path_nodes(self): """ Confirm that _question_path_to_path_nodes() works as expected """ repeat_groups = [ "/data/repeat1", "/data/group1/repeat2", "/data/group1/repeat2/repeat3", ] self.assertEqual( _question_path_to_path_nodes("/data/repeat1", repeat_groups), [PathNode(name='form', is_repeat=False), PathNode(name='repeat1', is_repeat=True)] ) self.assertEqual( _question_path_to_path_nodes("/data/group1", repeat_groups), [PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False)] ) self.assertEqual( _question_path_to_path_nodes("/data/group1/repeat2", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False), PathNode(name='repeat2', is_repeat=True), ] ) self.assertEqual( _question_path_to_path_nodes("/data/group1/repeat2/repeat3", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False), PathNode(name='repeat2', is_repeat=True), PathNode(name='repeat3', is_repeat=True), ] ) self.assertEqual( _question_path_to_path_nodes("/data/group1/repeat2/repeat3/group2", repeat_groups), [ PathNode(name='form', is_repeat=False), PathNode(name='group1', is_repeat=False), PathNode(name='repeat2', is_repeat=True), PathNode(name='repeat3', is_repeat=True), PathNode(name='group2', is_repeat=False), ] )
def test_allow_non_data_nodes(self): """ Ensure that we allow non data nodes """ self.assertEqual( _question_path_to_path_nodes("/nodata/question", []), [ PathNode(name='form', is_repeat=False), PathNode(name='question', is_repeat=False), ] )