Ejemplo n.º 1
0
def test_dense_right_interval_vec():
    denseoutput = DenseOutput(None, None)
    inputs = D.array([0, 1, 0, 1, 1, 1])
    interpolator = CubicHermiteInterp(*inputs)
    denseoutput.add_interpolant(1, interpolator)
    denseoutput.add_interpolant(2, interpolator)
    assert (D.all(
        denseoutput.find_interval_vec([0.5, 0.99999, 1.00001, 1.5]) == D.array(
            [0, 0, 1, 1], dtype=D.int64)))
def test_dense_add_timemismatch_oob():
    inputs = D.array([0, 1, 0, 1, 1, 1])
    interpolator = CubicHermiteInterp(*inputs)
    denseoutput = DenseOutput([0, 1], [interpolator])

    def new_interp(t):
        if t > 2:
            raise ValueError("Out of bounds")
        else:
            return t

    denseoutput.add_interpolant(3, new_interp)
Ejemplo n.º 3
0
def test_dense_add_outofbounds():
    with pytest.raises(ValueError):
        inputs = D.array([0, 1, 0, 1, 1, 1])
        interpolator = CubicHermiteInterp(*inputs)
        denseoutput = DenseOutput([0, 1], [interpolator])

        def new_interp(t):
            if t < 2:
                raise ValueError("Out of bounds")
            else:
                return t

        denseoutput.add_interpolant(2, new_interp)
Ejemplo n.º 4
0
def test_dense_right_interval():
    denseoutput = DenseOutput(None, None)
    inputs = D.array([0, 1, 0, 1, 1, 1])
    interpolator = CubicHermiteInterp(*inputs)
    denseoutput.add_interpolant(1, interpolator)
    denseoutput.add_interpolant(2, interpolator)
    assert (denseoutput.find_interval(0.5) == 0)
    assert (denseoutput.find_interval(0.99999) == 0)
    assert (denseoutput.find_interval(1.00001) == 1)
    assert (denseoutput.find_interval(1.5) == 1)
Ejemplo n.º 5
0
def test_dense_init_and_call():
    denseoutput = DenseOutput(None, None)
    assert (denseoutput.t_eval == [0.0])
    assert (denseoutput.y_interpolants == [])
Ejemplo n.º 6
0
def test_dense_init_mismatch_length():
    with pytest.raises(ValueError):
        return DenseOutput([0.1], [0.1, 0.1])
Ejemplo n.º 7
0
def test_dense_init_no_y():
    with pytest.raises(ValueError):
        return DenseOutput([0.1], None)
Ejemplo n.º 8
0
def test_dense_init_no_t():
    with pytest.raises(ValueError):
        return DenseOutput(None, [0.1])
Ejemplo n.º 9
0
def test_dense_add_noncallable():
    with pytest.raises(TypeError):
        inputs = D.array([0, 1, 0, 1, 1, 1])
        interpolator = CubicHermiteInterp(*inputs)
        denseoutput = DenseOutput([0, 1], [interpolator])
        denseoutput.add_interpolant(2, None)
Ejemplo n.º 10
0
def test_dense_init_add_prefix():
    denseoutput = DenseOutput(None, None)
    inputs = D.array([-1, 0, 0, 1, 1, 1])
    interpolator = CubicHermiteInterp(*inputs)
    denseoutput.add_interpolant(-1, interpolator)
def test_dense_init_mismatch_length():
    denseoutput = DenseOutput([0.1], [0.1, 0.1])
def test_dense_init_no_y():
    denseoutput = DenseOutput([0.1], None)
def test_dense_init_no_t():
    denseoutput = DenseOutput(None, [0.1])