def test_subsample_features(self): t = Table(np.array([[0, 1, 3], [1, 1, 2]]).T, ['O1', 'O2', 'O3'], ['S1', 'S2']) a = subsample(t, 2, 'feature') self.assertEqual(a.shape, (2, 2)) sample_ids = frozenset(a.ids(axis='observation')) self.assertIn(sample_ids, set([frozenset(['O1', 'O2']), frozenset(['O1', 'O3']), frozenset(['O2', 'O3'])])) self.assertEqual(set(a.ids(axis='sample')), set(['S1', 'S2'])) for i in a.ids(axis='observation'): npt.assert_equal(t.data(i, axis='observation'), a.data(i, axis='observation'))
def test_subsample_features_empty(self): t = Table( np.array([[0, 0, 0], [0, 0, 0]]).T, ['O1', 'O2', 'O3'], ['S1', 'S2']) with self.assertRaisesRegex(ValueError, "contains no"): subsample(t, 2, 'feature')
def test_subsample_features_oversample(self): t = Table( np.array([[0, 1, 3], [1, 1, 2]]).T, ['O1', 'O2', 'O3'], ['S1', 'S2']) with self.assertRaisesRegex(ValueError, "depth exceeds"): subsample(t, 10, 'feature')