31 lines
837 B
C++
31 lines
837 B
C++
#include "fesa/load/Load.hpp"
|
|
#include "fesa/load/NodalLoad.hpp"
|
|
|
|
#include <memory>
|
|
|
|
namespace {
|
|
|
|
int require(bool condition) {
|
|
return condition ? 0 : 1;
|
|
}
|
|
|
|
} // namespace
|
|
|
|
int run_load_base_tests() {
|
|
std::unique_ptr<fesa::load::Load> owned =
|
|
std::make_unique<fesa::load::NodalLoad>(1, fesa::core::Dof::U3, -100.0);
|
|
const fesa::load::Load& load = *owned;
|
|
const auto& nodal = static_cast<const fesa::load::NodalLoad&>(load);
|
|
|
|
if (const int result = require(load.kind() == fesa::load::LoadKind::Nodal); result != 0) {
|
|
return result;
|
|
}
|
|
if (const int result = require(nodal.nodeId() == 1); result != 0) {
|
|
return result;
|
|
}
|
|
if (const int result = require(nodal.dof() == fesa::core::Dof::U3); result != 0) {
|
|
return result;
|
|
}
|
|
return require(nodal.value() == -100.0);
|
|
}
|