Example #1
0
    def test_only_counts(self):
        """correctly handle only being provided with counts data"""
        input_two = dict(counts=[[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]])

        # check write/read
        self.check_write_load(input_two)

        # check filter works
        expect_counts = [[[0, 1], [4, 5]], [[6, 7], [8, 9]]]

        func = lambda x: x.min() != 2 and x.max() != 3

        coll = RegionCollection(**input_two)
        coll = coll.filtered(func)
        got_counts, got_ranks, got_labels = coll.getGrouped(2)
        self.assertEqual(got_counts.tolist(), expect_counts)
        self.assertEqual(got_ranks, None)
        self.assertEqual(got_labels, None)
Example #2
0
    def test_filtered_data(self):
        """should correctly filter records"""
        input_two = dict(counts=[[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]],
                         ranks=[0, 1, 2, 3, 4],
                         labels=['0', '1', '2', '3', '4'])

        expect_counts = [[0, 1], [4, 5], [6, 7], [8, 9]]
        expect_ranks = [0, 2, 3, 4]
        expect_labels = ['0', '2', '3', '4']

        func = lambda x: x.min() != 2 and x.max() != 3

        coll = RegionCollection(**input_two)
        self.assertEqual(coll.N, 5)
        new = coll.filtered(func)
        self.assertEqual(new.N, 4)
        self.assertEqual(new.counts.astype(int).tolist(), expect_counts)
        self.assertEqual(new.ranks.astype(int).tolist(), expect_ranks)
        self.assertEqual(new.labels.tolist(), expect_labels)