@@ -270,16 +270,35 @@ class TestOverlapCalculator : public CxxTest::TestSuite
270270
271271 void test_neighborhoods ()
272272 {
273+ auto tb = molc->getAtomRadiiTable ();
273274 molc->eval (mnacl);
274275 auto nbhood = molc->neighborhoods ();
275276 TS_ASSERT_EQUALS (1u , nbhood.size ());
276277 TS_ASSERT_EQUALS (8u , nbhood[0 ].size ());
277- molc-> getAtomRadiiTable () ->resetAll ();
278+ tb ->resetAll ();
278279 molc->eval (mnacl);
279280 auto nbsep = molc->neighborhoods ();
280281 TS_ASSERT_EQUALS (8u , nbsep.size ());
281282 int nb5site = *(nbsep[5 ].begin ());
282283 TS_ASSERT_EQUALS (5 , nb5site);
284+ molc->maskAllPairs (false );
285+ molc->eval (mnacl);
286+ auto nbdark = molc->neighborhoods ();
287+ TS_ASSERT (nbdark.empty ());
288+ molc->setTypeMask (" Na1+" , " Na1+" , true );
289+ molc->eval (mnacl);
290+ auto nbnanasep = molc->neighborhoods ();
291+ TS_ASSERT_EQUALS (4u , nbnanasep.size ());
292+ int nb3site = *(nbnanasep[3 ].begin ());
293+ TS_ASSERT_EQUALS (3 , nb3site);
294+ tb->setCustom (" Na1+" , 5 );
295+ tb->setCustom (" Cl1-" , 5 );
296+ molc->eval (mnacl);
297+ auto nbnana = molc->neighborhoods ();
298+ TS_ASSERT_EQUALS (1u , nbnana.size ());
299+ TS_ASSERT_EQUALS (4u , nbnana[0 ].size ());
300+ TS_ASSERT (nbnana[0 ].count (0 ));
301+ TS_ASSERT (!nbnana[0 ].count (4 ));
283302 }
284303
285304
0 commit comments