File: ClaverieParameter_test.C

package info (click to toggle)
ball 1.5.0%2Bgit20180813.37fc53c-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 239,848 kB
  • sloc: cpp: 326,149; ansic: 4,208; python: 2,303; yacc: 1,778; lex: 1,099; xml: 958; sh: 322; makefile: 93
file content (140 lines) | stat: -rw-r--r-- 4,129 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#include <BALL/CONCEPT/classTest.h>
#include <BALLTestConfig.h>

///////////////////////////

// insert includes here
#include <BALL/SOLVATION/claverieParameter.h>

///////////////////////////

START_TEST(ClaverieParameter)

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////

using namespace BALL;

ClaverieParameter* cp_ptr = 0;

CHECK(ClaverieParameter::ClaverieParameter())
	cp_ptr = new ClaverieParameter;
	TEST_NOT_EQUAL(cp_ptr, 0)
	std::vector<std::pair<float, float> > test_params;
	bool test = (test_params == cp_ptr->getParameters());
	TEST_EQUAL(test, true)
	HashMap<Atom::Type, Index> test_indices;
	test = (test_indices == cp_ptr->getIndices());
	TEST_EQUAL(test, true)
	delete cp_ptr;
RESULT


CHECK(ClaverieParameter::(const ClaverieParameter& param)())
	ClaverieParameter cp1;
	ForceFieldParameters fffparam(BALL_TEST_DATA_PATH(ClaverieParameter_test.ini));
	cp1.extractSection(fffparam, "ClaverieParameters");
	ClaverieParameter cp2;
	bool test = (cp1 == cp2);
	TEST_NOT_EQUAL(test, true)

	ClaverieParameter cp3(cp1);
	test = (cp1 == cp3);
	TEST_EQUAL(test, true)
RESULT


CHECK(ClaverieParameter::clear())
	ClaverieParameter empty;
	ClaverieParameter nonempty;
	ForceFieldParameters fffparam(BALL_TEST_DATA_PATH(ClaverieParameter_test.ini));
	nonempty.extractSection(fffparam, "ClaverieParameters");
	bool test = (empty == nonempty);
	TEST_NOT_EQUAL(test, true)

	nonempty.clear();
	test = (empty == nonempty);
	TEST_EQUAL(test, true)
RESULT


CHECK(ClaverieParameter::ClaverieParameter& operator = (const ClaverieParameter& param))
	ClaverieParameter cp1;
	ForceFieldParameters fffparam(BALL_TEST_DATA_PATH(ClaverieParameter_test.ini));
	cp1.extractSection(fffparam, "ClaverieParameters");
	ClaverieParameter cp2;
	bool test = (cp1 == cp2);
	TEST_NOT_EQUAL(test, true)

	cp2 = cp1;
	test = (cp1 == cp2);
	TEST_EQUAL(test, true)
RESULT


CHECK(ClaverieParameter::hasParameters(Atom::Type solvent_type, Atom::Type solute_type) const )
	ClaverieParameter cp;
	ForceFieldParameters fffparam(BALL_TEST_DATA_PATH(ClaverieParameter_test.ini));
	cp.extractSection(fffparam, "ClaverieParameters");

	Atom::Type type_HW = fffparam.getAtomTypes().getType("HW");
	Atom::Type type_OW = fffparam.getAtomTypes().getType("OW");
	Atom::Type type_CT = fffparam.getAtomTypes().getType("CT");
	Atom::Type type_HC = fffparam.getAtomTypes().getType("HC");

	bool test = cp.hasParameters(type_HW, type_CT);
	TEST_EQUAL(test, true)

	test = cp.hasParameters(type_HC, type_OW);
	TEST_EQUAL(test, true)
RESULT


CHECK(ClaverieParameter::getParameters(Atom::Type solvent_type, Atom::Type solute_type) const )
	ClaverieParameter cp;
	ForceFieldParameters fffparam(BALL_TEST_DATA_PATH(ClaverieParameter_test.ini));
	cp.extractSection(fffparam, "ClaverieParameters");

	Atom::Type type_HW = fffparam.getAtomTypes().getType("HW");
	//Atom::Type type_OW = fffparam.getAtomTypes().getType("OW");
	Atom::Type type_CT = fffparam.getAtomTypes().getType("CT");
	//Atom::Type type_HC = fffparam.getAtomTypes().getType("HC");

	::std::pair<float, float> params;
	
	params = cp.getParameters(type_HW, type_CT);
	PRECISION(0.0001)
	TEST_REAL_EQUAL(params.first, 1.0)
	TEST_REAL_EQUAL(params.second, 2.85657)
RESULT


CHECK(ClaverieParameter::extractSection(ForceFieldParameters& parameters, const String& section_name))
	ClaverieParameter cp;
	
	ForceFieldParameters ffparam;
	bool test = cp.extractSection(ffparam, "Egal");
	TEST_EQUAL(test, false)
	cp.clear();
	
	ForceFieldParameters fffparam(BALL_TEST_DATA_PATH(ClaverieParameter_test.ini));
	CAPTURE_OUTPUT_LEVEL(2000);
	test = cp.extractSection(fffparam, "ClaverieParameters2");
	COMPARE_OUTPUT("Variable missing.\n");
	TEST_EQUAL(test, false)
	cp.clear();
	
	CAPTURE_OUTPUT_LEVEL(2000);
	test = cp.extractSection(fffparam, "ClaverieParameters3");
	COMPARE_OUTPUT("Cannot assign atom type XX\n");
	TEST_EQUAL(test, false)
RESULT



/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
END_TEST