geopro/tests/core/test_model.cpp

19 lines
587 B
C++

#include <gtest/gtest.h>
#include "model/Field.hpp"
using namespace geopro::core;
TEST(Model, ScalarVolumeIndexing) {
ScalarVolume v(/*nx=*/2, /*ny=*/3, /*nz=*/4);
v.at(1, 2, 3) = 42.0;
EXPECT_EQ(v.nx(), 2); EXPECT_EQ(v.ny(), 3); EXPECT_EQ(v.nz(), 4);
EXPECT_EQ(v.data().size(), 2u * 3u * 4u);
EXPECT_DOUBLE_EQ(v.at(1, 2, 3), 42.0);
}
TEST(Model, GridStoresRegularSpec) {
Grid g(/*nx=*/100, /*ny=*/22);
EXPECT_EQ(g.values().size(), 100u * 22u);
g.valueAt(/*i=*/3, /*j=*/5) = 7.5; // i=x(0..99), j=y(0..21)
EXPECT_DOUBLE_EQ(g.valueAt(3, 5), 7.5);
}