예제 #1
0
def test_ilsr_max_iter():
    vals = [np.exp([-0.5, 0.5]), np.exp([-0.3, 0.3]),
            np.exp([-0.2, 0.2]), np.exp([-0.25, 0.25])]
    lsr = Mock(side_effect=vals)
    with pytest.raises(RuntimeError):
        _ilsr(2, [], alpha=0.0, params=None, max_iter=2, tol=0.01, lsr_fun=lsr)
    assert lsr.call_count == 2
예제 #2
0
파일: test_lsr.py 프로젝트: tommy-mor/choix
def test_ilsr_max_iter():
    """Low `max_iter` raises `RuntimeError`."""
    vals = [
        np.array([-0.5, 0.5]),
        np.array([-0.3, 0.3]),
        np.array([-0.2, 0.2]),
        np.array([-0.25, 0.25])
    ]
    lsr = Mock(side_effect=vals)
    with pytest.raises(RuntimeError):
        _ilsr(fun=lsr, params=None, max_iter=2, tol=0.01)
    assert lsr.call_count == 2
예제 #3
0
def test_ilsr_tolerance():
    vals = [np.exp([-0.5, 0.5]), np.exp([-0.3, 0.3]),
            np.exp([-0.2, 0.2]), np.exp([-0.25, 0.25])]
    lsr = Mock(side_effect=vals)
    est = _ilsr(2, [], alpha=0.0, params=None, max_iter=100, tol=0.15,
            lsr_fun=lsr)
    assert np.array_equal(est, vals[2])
    assert lsr.call_count == 3
예제 #4
0
파일: test_lsr.py 프로젝트: tommy-mor/choix
def test_ilsr_tolerance():
    """Tolerance affects the number of iterations."""
    vals = [
        np.array([-0.5, 0.5]),
        np.array([-0.3, 0.3]),
        np.array([-0.2, 0.2]),
        np.array([-0.25, 0.25])
    ]
    lsr = Mock(side_effect=vals)
    est = _ilsr(fun=lsr, params=None, max_iter=100, tol=0.15)
    assert np.array_equal(est, vals[2])
    assert lsr.call_count == 3