def test_interval_f(client): data = { 'x': Interval(1, 2), 'y': Interval(2, 3), 'z': Interval(3, 4) } url = '/process_request?field=f&scope=interval' for k, v in data.items(): url += '&{0}={1}'.format(k, json.dumps(v)) response = client.get(url) output = Interval.from_dict(json.loads(response.data)) assert response.status_code == 200 assert output == Interval(36.0, 70.0)
def test_interval_derivatives(): assert almost_equal_interval(core.request('df_x', {'x': Interval(3, 4), 'y': Interval.from_value(2), 'z': Interval.from_value(3)}), Interval(6, 8)) assert almost_equal_interval(core.request('df_y', {'x': Interval.from_value(1), 'y': Interval(-2, 1), 'z': Interval.from_value(3)}), Interval(-8, 4)) assert almost_equal_interval(core.request('df_z', {'x': Interval.from_value(1), 'y': Interval.from_value(2), 'z': Interval.from_value(11)}), Interval.from_value(66.0))
def test_interval_df(client): data = { 'x': Interval(3, 4), 'y': Interval(-2, 1), 'z': Interval.from_value(11) } url = '/process_request?field=df_grad&scope=interval' for k, v in data.items(): url += '&{0}={1}'.format(k, json.dumps(v)) response = client.get(url) output = list(map(Interval.from_dict, json.loads(response.data))) assert response.status_code == 200 assert output[0] == Interval(6, 8) assert output[1] == Interval(-8, 4) assert output[2] == Interval.from_value(66.0)
def test_interval_gradient(): grad = core.request('df_grad', {'z': Interval.from_value(11), 'x': Interval(3, 4), 'y': Interval(-2, 1)}) assert almost_equal_interval(grad[0], Interval(6, 8)) assert almost_equal_interval(grad[1], Interval(-8, 4)) assert almost_equal_interval(grad[2], Interval.from_value(66.0))
def test_interval_calculation(): assert almost_equal_interval(core.request('f', {'x': Interval(1, 2), 'y': Interval(2, 3), 'z': Interval(3, 4)}), Interval(36.0, 70.0))