Example #1
0
def test_simple_choose_n_farthest_points_with_a_starting_point():
    point_set = [[0, 1], [0, 0], [1, 0], [1, 1]]
    i = 0
    for point in point_set:
        # The iteration starts with the given starting point
        sub_set = gudhi.choose_n_farthest_points(
            points=point_set, nb_points=1, starting_point=i
        )
        assert sub_set[0] == point_set[i]
        i = i + 1

    # The iteration finds then the farthest
    sub_set = gudhi.choose_n_farthest_points(
        points=point_set, nb_points=2, starting_point=1
    )
    assert sub_set[1] == point_set[3]
    sub_set = gudhi.choose_n_farthest_points(
        points=point_set, nb_points=2, starting_point=3
    )
    assert sub_set[1] == point_set[1]
    sub_set = gudhi.choose_n_farthest_points(
        points=point_set, nb_points=2, starting_point=0
    )
    assert sub_set[1] == point_set[2]
    sub_set = gudhi.choose_n_farthest_points(
        points=point_set, nb_points=2, starting_point=2
    )
    assert sub_set[1] == point_set[0]

    # Test the limits
    assert (
        gudhi.choose_n_farthest_points(points=[], nb_points=0, starting_point=0) == []
    )
    assert (
        gudhi.choose_n_farthest_points(points=[], nb_points=1, starting_point=0) == []
    )
    assert (
        gudhi.choose_n_farthest_points(points=[], nb_points=0, starting_point=1) == []
    )
    assert (
        gudhi.choose_n_farthest_points(points=[], nb_points=1, starting_point=1) == []
    )

    # From off file test
    for i in range(0, 7):
        assert (
            len(
                gudhi.choose_n_farthest_points(
                    off_file="subsample.off", nb_points=i, starting_point=i
                )
            )
            == i
        )
Example #2
0
def test_simple_choose_n_farthest_points_randomed():
    point_set = [[0, 1], [0, 0], [1, 0], [1, 1]]
    # Test the limits
    assert gudhi.choose_n_farthest_points(points=[], nb_points=0) == []
    assert gudhi.choose_n_farthest_points(points=[], nb_points=1) == []
    assert gudhi.choose_n_farthest_points(points=point_set, nb_points=0) == []

    # Go furter than point set on purpose
    for iter in range(1, 10):
        sub_set = gudhi.choose_n_farthest_points(points=point_set,
                                                 nb_points=iter)
        for sub in sub_set:
            found = False
            for point in point_set:
                if point == sub:
                    found = True
            # Check each sub set point is existing in the point set
            assert found == True

    # From off file test
    for i in range(0, 7):
        assert (len(
            gudhi.choose_n_farthest_points(off_file="subsample.off",
                                           nb_points=i)) == i)