Example #1
0
 def test_vector_match_with_one_unique_hit(self):
     mol = parse_smiles("c1ccccc1O")
     pat = parse_smarts("c1ccccc1")
     v = ob.vectorvInt()
     self.assertTrue(pat.Match(mol, v, ob.OBSmartsPattern.AllUnique))
     self.assertEqual(len(v), 1)
     self.assertEqual(set(v[0]), set([1, 2, 3, 4, 5, 6]))
Example #2
0
 def test_vector_match(self):
     v = ob.vectorvInt()
     mol = parse_smiles("c1ccccc1O")
     pat = parse_smarts("cO")
     self.assertEqual(pat.Match(mol, v), 1)
     self.assertEqual(len(v), 1)
     self.assertEqual(set(v[0]), set([6, 7]))
Example #3
0
 def test_vector_match_false(self):
     # Create a  vector< vector<int> >, wherein the results go
     v = ob.vectorvInt()
     mol = parse_smiles("c1ccccc1O")
     pat = parse_smarts("N")
     self.assertEqual(pat.Match(mol, v), 0)
     self.assertEqual(len(v), 0)
Example #4
0
 def test_vector_match_with_single_hit(self):
     v = ob.vectorvInt()
     mol = parse_smiles("c1ccccc1O")
     pat = parse_smarts("ccO")
     self.assertEqual(pat.Match(mol, v, ob.OBSmartsPattern.Single), 1)
     self.assertEqual(len(v), 1)
     result = v[0]
     self.assertTrue(result == (5, 6, 7) or result == (1, 6, 7), result)
Example #5
0
 def test_vector_match_with_all_hits(self):
     mol = parse_smiles("c1ccccc1O")
     pat = parse_smarts("c1ccccc1")
     v = ob.vectorvInt()
     self.assertEqual(pat.Match(mol, v, ob.OBSmartsPattern.All), 1)
     self.assertEqual(len(v), 12)
     expect = set([1, 2, 3, 4, 5, 6])
     for x in v:
         self.assertEqual(set(x), expect)
Example #6
0
 def test_vector_match_with_two_hits(self):
     v = ob.vectorvInt()
     mol = parse_smiles("c1ccccc1O")
     pat = parse_smarts("ccO")
     self.assertEqual(pat.Match(mol, v), 1)
     self.assertEqual(len(v), 2)
     results = list(v)
     self.assertTrue((5, 6, 7) in results, results)
     self.assertTrue((1, 6, 7) in results, results)