32 lines
1001 B
C++
32 lines
1001 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "quill/LogMacros.h"
|
|
#include "mfem.hpp"
|
|
|
|
#include "polySolver.h"
|
|
#include "probe.h"
|
|
|
|
class polyTest : public ::testing::Test {};
|
|
|
|
TEST_F(polyTest, DefaultConstructor) {
|
|
EXPECT_NO_THROW(PolySolver(1, 1));
|
|
}
|
|
|
|
TEST_F(polyTest, Solve) {
|
|
PolySolver polytrope(1.5, 1);
|
|
EXPECT_NO_THROW(polytrope.solve());
|
|
Probe::LogManager& logManager = Probe::LogManager::getInstance();
|
|
quill::Logger* logger = logManager.newFileLogger("polyTest.log", "polyTest");
|
|
LOG_INFO(logger, "Solving polytrope with n = 1.5, gamma = 1");
|
|
mfem::Mesh& mesh = polytrope.getMesh();
|
|
mfem::GridFunction& solution = polytrope.getSolution();
|
|
|
|
// Get the mesh radius
|
|
double radius = Probe::getMeshRadius(mesh);
|
|
LOG_INFO(logger, "Mesh radius: {}", radius);
|
|
|
|
// Get the ray solution
|
|
const std::vector<double> rayDirection = {0, 0};
|
|
int numSamples = 10;
|
|
std::vector<double> samples = Probe::getRaySolution(solution, mesh, rayDirection, numSamples);
|
|
} |