def test_classify(self): decomposed = { '0': { 'traj_A': [0, 1, 2] }, '1': { 'traj_A': [3], 'traj_B': [8, 10] }, '2': { 'traj_A': [4], 'traj_B': [14, 15] }, '3': { 'traj_A': [5, 6] }, '4': { 'traj_B': [9, 11, 12, 13, 7] } } expected = { 'mixed': { '1': { 'traj_A': [3], 'traj_B': [8, 10] }, '2': { 'traj_A': [4], 'traj_B': [14, 15] } }, 'pure': { '0': { 'traj_A': [0, 1, 2] }, '3': { 'traj_A': [5, 6] }, '4': { 'traj_B': [9, 11, 12, 13, 7] } } } self.assertDictEqual(expected, Separator.classify(decomposed))