Ejemplo n.º 1
0
def test_reduce_nodes_stay_the_same():
    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 4.0], spacing=1.0)
    assert nodes == [0, 1, 2, 3, 4]

    nodes = _reduce_nodes([0.0, 2.0, 4.0, 6.0, 8.0], spacing=2.0)
    assert nodes == [0, 1, 2, 3, 4]

    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 4.0], spacing=0.5)
    assert nodes == [0, 1, 2, 3, 4]

    nodes = _reduce_nodes([0.0, 1.0, 3.0, 6.0, 10.0], spacing=[1, 2, 3, 4, 5])
    assert nodes == [0, 1, 2, 3, 4]
Ejemplo n.º 2
0
def test_reduce_nodes_min_max_spacing(spacing):
    distance_along_segment = np.cumsum(spacing)

    if np.any(np.diff(distance_along_segment) <= 0):
        raise ValueError(f"array not sorted ({distance_along_segment})")

    nodes = _reduce_nodes(distance_along_segment, spacing=spacing.min())
    assert np.all(nodes == np.arange(len(spacing)))

    nodes = _reduce_nodes(
        distance_along_segment,
        spacing=distance_along_segment[-1] - distance_along_segment[0],
    )
    assert nodes == [0, len(spacing) - 1]
Ejemplo n.º 3
0
def test_reduce_nodes():
    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 3.5], spacing=1.0)
    assert nodes == [0, 1, 2, 3, 4]

    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 3.5], spacing=0.5)
    assert nodes == [0, 1, 2, 3, 4]

    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 4.0], spacing=1.75)
    assert nodes == [0, 2, 4]

    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 4.0], spacing=[1.0, 1.0, 2.0, 2.0, 2.0])
    assert nodes == [0, 1, 2, 4]

    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 4.0], spacing=1000.0)
    assert nodes == [0, 4]

    nodes = _reduce_nodes([0.0, 1.0, 2.0, 3.0, 4.0, 5.0], spacing=2.0)
    assert nodes == [0, 2, 4, 5]