Пример #1
0
 def test_simple_slices(self):
     self.assertEqual(1,
                      array_utils.slice_structure(STRUCT, ['k1', 0, 'a']))
     self.assertEqual(8,
                      array_utils.slice_structure(STRUCT, ['k2', 1, 'a']))
     self.assertEqual(4,
                      array_utils.slice_structure(STRUCT, ['k1', -1, 'c']))
Пример #2
0
 def test_all_slice_set(self):
     struct = set(range(10))
     with self.assertRaises(NotImplementedError):
         array_utils.slice_structure(struct, [array_utils.SLICE.ALL])
Пример #3
0
 def test_all_slice_list(self):
     actual = array_utils.slice_structure(STRUCT,
                                          ['k1', array_utils.SLICE.ALL])
     self.assertEqual(actual, STRUCT['k1'])
Пример #4
0
 def test_all_slice_dict(self):
     actual = array_utils.slice_structure(STRUCT,
                                          [array_utils.SLICE.ALL, 0, 'a'])
     expected = {'k1': 1, 'k2': 5, 'k3': 5}
     self.assertEqual(expected, actual)
Пример #5
0
 def test_base_case(self):
     self.assertEqual(STRUCT, array_utils.slice_structure(STRUCT, []))
Пример #6
0
 def test_invalid_key(self):
     with self.assertRaises(KeyError):
         array_utils.slice_structure(STRUCT, ['k3', [0], 'c'])
     with self.assertRaises(IndexError):
         array_utils.slice_structure(STRUCT, ['k3', [3], 'c'])
Пример #7
0
 def test_list_slice_from_dict(self):
     actual = array_utils.slice_structure(STRUCT,
                                          [['k1', 'k2', 'k1'], 0, 'b'])
     self.assertEqual(actual, [2, 6, 2])
Пример #8
0
 def test_list_slice_from_list(self):
     actual = array_utils.slice_structure(STRUCT, ['k1', [0, 1, 1], 'a'])
     self.assertEqual(actual, [1, 2, 2])