1 //
2 // ConstantsUnitTest.h
3 // pb_solvers_code
4 //
5 // Created by Lisa Felberg on 10/6/15.
6 // Copyright © 2015 Lisa Felberg. All rights reserved.
7 //
8
9 #ifndef ConstantsUnitTest_h
10 #define ConstantsUnitTest_h
11
12 #include "Constants.h"
13
14 class ConstantsUTest : public ::testing::Test
15 {
16 protected :
17
18 Constants ConstUTest_;
19
SetUp()20 virtual void SetUp() {}
TearDown()21 virtual void TearDown() {}
22 };
23
TEST_F(ConstantsUTest,settingAndCalc)24 TEST_F(ConstantsUTest, settingAndCalc)
25 {
26 EXPECT_NEAR( ConstUTest_.get_kappa(), 0.03030729144, preclim);
27
28 // check Kappa after changing \( eps_s \)
29 ConstUTest_.set_dielectric_water( 40.0 );
30 EXPECT_NEAR( ConstUTest_.get_kappa(), 0.04232182927, preclim
31 );
32
33 // check Kappa after changing Salt concentration \( Molar \)
34 ConstUTest_.set_salt_concentration( 0.05 );
35 EXPECT_NEAR( ConstUTest_.get_kappa(), 0.09463448717, preclim);
36
37 // check Kappa after changing temperature [ Kelvin ]
38 ConstUTest_.set_temp( 298.0 );
39 EXPECT_NEAR( ConstUTest_.get_kappa(), 0.1029979673, preclim);
40 EXPECT_NEAR( ConstUTest_.get_kbt(), 4.11436084E-21, preclim);
41 double iKt = 2.430511175E20; // large number
42 EXPECT_NEAR( ConstUTest_.get_ikbt()/iKt, 1.0, preclim);
43 }
44
TEST_F(ConstantsUTest,unitConv)45 TEST_F(ConstantsUTest, unitConv)
46 {
47 // check unit conversion
48 EXPECT_NEAR(ConstUTest_.convert_int_to_kcal_mol(1.0)/332.061203,1,preclim);
49 EXPECT_NEAR(ConstUTest_.convert_int_to_jmol(1.0)/1389344.0722,1,preclim);
50
51 ConstUTest_.set_temp( 298.0 );
52 EXPECT_NEAR(ConstUTest_.convert_int_to_kT(1.0)/560.73826468,1,preclim);
53
54 EXPECT_NEAR(ConstUTest_.convert_j_to_int(1.0)/4.33448425104667e+17,1,preclim);
55
56 }
57
58 #endif /* ConstantsUnitTest_h */
59