Exemplo n.º 1
0
def test_reassignment():
    options = RtraceOptions()
    options.ab = 5
    assert options.ab == 5
    assert options.to_radiance() == '-ab 5'
    # remove assigned values
    options.ab = None
    assert options.ab == None
    assert options.to_radiance() == ''
Exemplo n.º 2
0
def test_assignment():
    options = RtraceOptions()
    options.ab = 5
    assert options.ab == 5
    assert options.to_radiance() == '-ab 5'
    # handle wrong value type like a boss
    options.ab = 3.2
    assert options.ab == 3
    assert options.to_radiance() == '-ab 3'
Exemplo n.º 3
0
def test_invalid_assignment():
    opts = RtraceOptions()
    with pytest.raises(AttributeError):
        opts.mm = 20

    with pytest.raises(TypeError):
        opts.ab = 'ambient bounces'  # must be a numeric value
Exemplo n.º 4
0
def test_multiple_assignment():
    options = RtraceOptions()
    options.ab = 2
    options.ad = 546
    assert '-ab 2' in options.to_radiance()
    assert 'ad 546' in options.to_radiance()