8 #ifndef TEST_UFO_PIECEWISELINEARINTERPOLATION_H_
9 #define TEST_UFO_PIECEWISELINEARINTERPOLATION_H_
14 #include "eckit/config/LocalConfiguration.h"
15 #include "eckit/testing/Test.h"
16 #include "oops/runs/Test.h"
17 #include "oops/util/Expect.h"
18 #include "test/TestEnvironment.h"
24 CASE(
"ufo/PiecewiseLinearInterpolation/atInterpolationPoints") {
27 EXPECT_EQUAL(interp(-1.0), 2.0);
28 EXPECT_EQUAL(interp(1.0), 4.0);
29 EXPECT_EQUAL(interp(5.0), 0.0);
32 CASE(
"ufo/PiecewiseLinearInterpolation/betweenInterpolationPoints") {
35 EXPECT_EQUAL(interp(0.0), 3.0);
36 EXPECT_EQUAL(interp(2.0), 3.0);
39 CASE(
"ufo/PiecewiseLinearInterpolation/outsideInterpolationPoints") {
42 EXPECT_EQUAL(interp(-10.0), 2.0);
43 EXPECT_EQUAL(interp(10.0), 0.0);
46 CASE(
"ufo/PiecewiseLinearInterpolation/singleInterpolationPoint") {
49 EXPECT_EQUAL(interp(-10.0), 2.0);
50 EXPECT_EQUAL(interp(-1.0), 2.0);
51 EXPECT_EQUAL(interp(10.0), 2.0);
54 CASE(
"ufo/PiecewiseLinearInterpolation/noInterpolationPoints") {
58 CASE(
"ufo/PiecewiseLinearInterpolation/differentNumberOfAbscissasAndOrdinates") {
65 std::string
testid()
const override {
return "ufo::test::PiecewiseLinearInterpolation";}
Represents a piecewise linear interpolation of a set of data points.
std::string testid() const override
void register_tests() const override
void clear() const override
CASE("ufo/DataExtractor/bilinearinterp/float_linear")