def test_reorder_coords(self):
        """Reordering of columns functions as expected """
        m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
        in_sids = ['A', 'B', 'C']
        order = ['A', 'B', 'C']
        expected = m
        self.assertEqual(reorder_coords(m, in_sids, order), expected)

        in_sids = ['C', 'B', 'A']
        expected = [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
        self.assertEqual(reorder_coords(m, in_sids, order), expected)

        in_sids = ['C', 'B', 'A']
        expected = [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
        self.assertEqual(reorder_coords(m, in_sids, order), expected)

        # order leaves some samples out
        m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
        in_sids = ['A', 'B', 'C']
        order = ['A', 'B']
        expected = [[1, 2, 3], [4, 5, 6]]
        self.assertEqual(reorder_coords(m, in_sids, order), expected)
    def test_reorder_coords(self):
        """Reordering of columns functions as expected """
        m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
        in_sids = ['A', 'B', 'C']
        order = ['A', 'B', 'C']
        expected = m
        assert_almost_equal(reorder_coords(m, in_sids, order), expected)

        in_sids = ['C', 'B', 'A']
        expected = [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
        assert_almost_equal(reorder_coords(m, in_sids, order), expected)

        in_sids = ['C', 'B', 'A']
        expected = [[7, 8, 9], [4, 5, 6], [1, 2, 3]]
        assert_almost_equal(reorder_coords(m, in_sids, order), expected)

        # order leaves some samples out
        m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
        in_sids = ['A', 'B', 'C']
        order = ['A', 'B']
        expected = [[1, 2, 3], [4, 5, 6]]
        assert_almost_equal(reorder_coords(m, in_sids, order), expected)