"platforms/reference/vscode:/vscode.git/clone" did not exist on "21a09873c47b9b7477d2e5a11401cbf2bdceaa8f"
Commit 4255709b authored by John Chodera (MSKCC)'s avatar John Chodera (MSKCC)
Browse files

Updated tests of serialization of CustomNonbondedForce, though test omits...

Updated tests of serialization of CustomNonbondedForce, though test omits comparison of interaction group sets since I couldn't figure out how to do that.
parent 6bd73375
...@@ -43,6 +43,9 @@ void testSerialization() { ...@@ -43,6 +43,9 @@ void testSerialization() {
CustomNonbondedForce force("5*sin(x)^2+y*z"); CustomNonbondedForce force("5*sin(x)^2+y*z");
force.setNonbondedMethod(CustomNonbondedForce::CutoffPeriodic); force.setNonbondedMethod(CustomNonbondedForce::CutoffPeriodic);
force.setUseSwitchingFunction(true);
force.setUseLongRangeCorrection(true);
force.setSwitchingDistance(2.0);
force.setCutoffDistance(2.1); force.setCutoffDistance(2.1);
force.addGlobalParameter("x", 1.3); force.addGlobalParameter("x", 1.3);
force.addGlobalParameter("y", 2.221); force.addGlobalParameter("y", 2.221);
...@@ -60,6 +63,10 @@ void testSerialization() { ...@@ -60,6 +63,10 @@ void testSerialization() {
for (int i = 0; i < 10; i++) for (int i = 0; i < 10; i++)
values[i] = sin((double) i); values[i] = sin((double) i);
force.addFunction("f", values, 0.5, 1.5); force.addFunction("f", values, 0.5, 1.5);
std::set<int> set1, set2;
set1.insert(0);
set2.insert(1);
force.addInteractionGroup(set1, set2);
// Serialize and then deserialize it. // Serialize and then deserialize it.
...@@ -73,6 +80,9 @@ void testSerialization() { ...@@ -73,6 +80,9 @@ void testSerialization() {
ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction()); ASSERT_EQUAL(force.getEnergyFunction(), force2.getEnergyFunction());
ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod()); ASSERT_EQUAL(force.getNonbondedMethod(), force2.getNonbondedMethod());
ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance()); ASSERT_EQUAL(force.getCutoffDistance(), force2.getCutoffDistance());
ASSERT_EQUAL(force.getSwitchingDistance(), force2.getSwitchingDistance());
ASSERT_EQUAL(force.getUseSwitchingFunction(), force2.getUseSwitchingFunction());
ASSERT_EQUAL(force.getUseLongRangeCorrection(), force2.getUseLongRangeCorrection());
ASSERT_EQUAL(force.getNumPerParticleParameters(), force2.getNumPerParticleParameters()); ASSERT_EQUAL(force.getNumPerParticleParameters(), force2.getNumPerParticleParameters());
for (int i = 0; i < force.getNumPerParticleParameters(); i++) for (int i = 0; i < force.getNumPerParticleParameters(); i++)
ASSERT_EQUAL(force.getPerParticleParameterName(i), force2.getPerParticleParameterName(i)); ASSERT_EQUAL(force.getPerParticleParameterName(i), force2.getPerParticleParameterName(i));
...@@ -111,6 +121,9 @@ void testSerialization() { ...@@ -111,6 +121,9 @@ void testSerialization() {
for (int j = 0; j < (int) val1.size(); j++) for (int j = 0; j < (int) val1.size(); j++)
ASSERT_EQUAL(val1[j], val2[j]); ASSERT_EQUAL(val1[j], val2[j]);
} }
ASSERT_EQUAL(force.getNumInteractionGroups(), force2.getNumInteractionGroups());
std::set<int> set1c, set2c;
force2.getInteractionGroupParameters(0, set1c, set2c);
} }
int main() { int main() {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment