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),
         ]
     )