def test_permuted_split_dataset(self): original = [1, 2, 3, 4, 5] subset1, subset2 = split_dataset(original, 2, [2, 0, 3, 1, 4]) self.assertEqual(len(subset1), 2) self.assertEqual(subset1[0], 3) self.assertEqual(subset1[1], 1) self.assertEqual(len(subset2), 3) self.assertEqual(subset2[0], 4) self.assertEqual(subset2[1], 2) self.assertEqual(subset2[2], 5)
def test_split_dataset_invalid_type(self): original = [1, 2, 3, 4, 5] with self.assertRaises(TypeError): split_dataset(original, 3.5)
def test_split_dataset_tail(self): original = [1, 2, 3, 4, 5] subset1, subset2 = split_dataset(original, 5) self.assertEqual(len(subset1), 5) self.assertEqual(len(subset2), 0)
def test_split_dataset_invalid_position(self): original = [1, 2, 3, 4, 5] with self.assertRaises(ValueError): split_dataset(original, -1) with self.assertRaises(ValueError): split_dataset(original, 6)
def test_split_dataset_with_invalid_length_permutation(self): original = [1, 2, 3, 4, 5] with self.assertRaises(ValueError): split_dataset(original, 2, [2, 0, 3, 1]) with self.assertRaises(ValueError): split_dataset(original, 2, [2, 0, 3, 1, 4, 5])