def test_unique(self): lat = ArrayCoordinates1d([0, 1, 2, 1, 0, 5], name="lat") lon = ArrayCoordinates1d([10, 20, 20, 20, 10, 60], name="lon") c = StackedCoordinates([lat, lon]) c2 = c.unique() assert_equal(c2["lat"].coordinates, [0, 1, 2, 5]) assert_equal(c2["lon"].coordinates, [10, 20, 20, 60]) c2, I = c.unique(return_index=True) assert_equal(c2["lat"].coordinates, [0, 1, 2, 5]) assert_equal(c2["lon"].coordinates, [10, 20, 20, 60]) assert c[I] == c2
def test_unque_shaped(self): lat = ArrayCoordinates1d([[0, 1, 2], [1, 0, 5]], name="lat") lon = ArrayCoordinates1d([[10, 20, 20], [20, 10, 60]], name="lon") c = StackedCoordinates([lat, lon]) # flattens c2 = c.unique() assert_equal(c2["lat"].coordinates, [0, 1, 2, 5]) assert_equal(c2["lon"].coordinates, [10, 20, 20, 60]) c2, I = c.unique(return_index=True) assert_equal(c2["lat"].coordinates, [0, 1, 2, 5]) assert_equal(c2["lon"].coordinates, [10, 20, 20, 60]) assert c.flatten()[I] == c2