From e7a24f7acd76725ecdda78830b12bda2e121fbba Mon Sep 17 00:00:00 2001 From: Victor Brunini Date: Thu, 6 Mar 2014 01:06:25 +0000 Subject: [PATCH] Unit test ThermoPhase::getElementPotentials and setElementPotentials. --- test/thermo/ThermoPhase_Test.cpp | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 test/thermo/ThermoPhase_Test.cpp diff --git a/test/thermo/ThermoPhase_Test.cpp b/test/thermo/ThermoPhase_Test.cpp new file mode 100644 index 000000000..2367addbf --- /dev/null +++ b/test/thermo/ThermoPhase_Test.cpp @@ -0,0 +1,49 @@ +#include "gtest/gtest.h" +#include "cantera/thermo/ThermoPhase.h" +#include + +namespace Cantera +{ + +class ThermoPhase_Fixture : public testing::Test +{ +protected: + ThermoPhase test_phase; +public: + ThermoPhase_Fixture() {} + + ~ThermoPhase_Fixture() {} + + void initializeElements() + { + test_phase.addElement("A", 1.); + test_phase.addElement("B", 2.); + test_phase.addElement("C", 3.); + } +}; + +TEST_F(ThermoPhase_Fixture, SetAndGetElementPotentials) +{ + initializeElements(); + + // Check that getElementPotentials returns false if no element potentials have been set yet. + std::vector getLambda(3); + EXPECT_FALSE(test_phase.getElementPotentials(&getLambda[0])); + + std::vector tooSmall(2); + EXPECT_THROW(test_phase.setElementPotentials(tooSmall), CanteraError); + + std::vector setLambda(3); + setLambda[0] = 1.; + setLambda[1] = 2.; + setLambda[2] = 3.; + test_phase.setElementPotentials(setLambda); + + EXPECT_TRUE(test_phase.getElementPotentials(&getLambda[0])); + EXPECT_DOUBLE_EQ(setLambda[0], getLambda[0]); + EXPECT_DOUBLE_EQ(setLambda[1], getLambda[1]); + EXPECT_DOUBLE_EQ(setLambda[2], getLambda[2]); +} + +} +