Skip to content

Commit 9af9545

Browse files
authored
Merge pull request #2 from rvianello/rvianello/paconius-molfield-prep-value
add a few tests using sql expressions to operate on a MolField column
2 parents c210cda + 2924880 commit 9af9545

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

tests/tests.py

+15-3
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,34 @@ def test_insert_null(self):
2121
objs = MoleculeModel.objects.filter(molecule=None)
2222
self.assertEqual(objs.count(), 1)
2323

24+
def test_assign_from_sql_expression(self):
25+
mol = MoleculeModel.objects.create(molecule=MOL_FROM_SMILES(Value('c1ccccc1')))
26+
updated = MoleculeModel.objects.filter(id=mol.id).update(molecule=MOL_FROM_SMILES(Value('c1ccccc1')))
27+
self.assertEqual(updated, 1)
28+
2429
def test_exact_lookup(self):
2530

2631
objs = MoleculeModel.objects.filter(molecule='COC(c1ccccc1)c1ccccc1')
2732
self.assertEqual(objs.count(), 1)
2833

2934
objs = MoleculeModel.objects.filter(molecule='Nc1ccc(Cl)nc1')
3035
self.assertEqual(objs.count(), 1)
31-
36+
3237
objs = MoleculeModel.objects.filter(molecule=Chem.MolFromSmiles('Nc1ccc(Cl)nc1'))
3338
self.assertEqual(objs.count(), 1)
3439

40+
objs = MoleculeModel.objects.filter(molecule=MOL_FROM_SMILES(Value('Nc1ccc(Cl)nc1')))
41+
self.assertEqual(objs.count(), 1)
42+
3543
def test_hassubstruct_lookup(self):
3644

3745
objs = MoleculeModel.objects.filter(molecule__hassubstruct='C1=C(C)C=CC=C1')
3846
self.assertEqual(objs.count(), 61)
3947

48+
objs = MoleculeModel.objects.filter(
49+
molecule__hassubstruct=MOL_FROM_SMILES(Value('C1=C(C)C=CC=C1')))
50+
self.assertEqual(objs.count(), 61)
51+
4052
objs = MoleculeModel.objects.filter(molecule__hassubstruct='C1=CC=CC=C1')
4153
cnt1 = objs.count()
4254
self.assertEqual(cnt1, 70)
@@ -56,7 +68,7 @@ def test_hassubstruct_lookup(self):
5668
qmol = QMOL(Value('c1[c,n]cccc1'))
5769
objs = MoleculeModel.objects.filter(molecule__hassubstruct=qmol)
5870
self.assertEqual(objs.count(), cnt3)
59-
71+
6072
objs = MoleculeModel.objects.filter(molecule__hassubstruct=Chem.MolFromSmiles('C1=CN=CC=C1'))
6173
cnt4 = objs.count()
6274
self.assertEqual(cnt2, 7)
@@ -68,7 +80,7 @@ def test_issubstruct_lookup(self):
6880

6981
objs = MoleculeModel.objects.filter(molecule__issubstruct='CC[N+]([O-])(CC)CCCN1c2ccccc2S(=O)c2ccccc21')
7082
self.assertEqual(objs.count(), 4)
71-
83+
7284
objs = MoleculeModel.objects.filter(molecule__issubstruct=Chem.MolFromSmiles('CC[N+]([O-])(CC)CCCN1c2ccccc2S(=O)c2ccccc21'))
7385
self.assertEqual(objs.count(), 4)
7486

0 commit comments

Comments
 (0)