24 lines
825 B
C++
24 lines
825 B
C++
#include <gtest/gtest.h>
|
|
#include <fstream>
|
|
#include <sstream>
|
|
#include "parse/SampleParsers.hpp"
|
|
using namespace geopro::data;
|
|
using namespace geopro::core;
|
|
|
|
static std::string slurp(const char* p){std::ifstream f(p);std::stringstream s;s<<f.rdbuf();return s.str();}
|
|
|
|
TEST(Parsers, Grid) {
|
|
Grid g = parseGrid(slurp("D:/dev/spike_data/grid.json"));
|
|
EXPECT_EQ(g.nx(), 100); EXPECT_EQ(g.ny(), 22);
|
|
EXPECT_EQ(g.values().size(), 100u*22u);
|
|
EXPECT_NEAR(g.vmin, -57.09, 0.1); EXPECT_NEAR(g.vmax, 828.08, 0.1);
|
|
EXPECT_EQ(g.lat.size(), 100u); EXPECT_EQ(g.lon.size(), 100u);
|
|
}
|
|
|
|
TEST(Parsers, ColorScale) {
|
|
ColorScale cs = parseColorScale(slurp("D:/dev/spike_data/colorbar.json"));
|
|
EXPECT_FALSE(cs.empty());
|
|
auto c = cs.colorAt(-57.0); // 首段 -57.09 → rgba(0,0,170,255)
|
|
EXPECT_EQ(c.b, 170);
|
|
}
|