Example #1
0
    def testMAEchempy(self, molfilename):
        cmd.load(self.datafile(molfilename), 'test', object_props='*', atom_props='*')
        objs = cmd.get_object_list()
        for obj in objs:
            idxToVal = {}
            natoms = cmd.count_atoms(obj)
            for i in range(natoms):
                idxToVal[i+1] = i*10
                cmd.set_atom_property('test_prop', i*10, "index %d and %s" % (i+1, obj))
            model = cmd.get_model(obj)

            # test to make sure the properties that exist are the same
            prop_list= cmd.get_property_list(obj)
            mol_prop_list = [x[0] for x in model.molecule_properties]
            self.assertEqual(set(prop_list), set(mol_prop_list))

            # need to test whether the values are the same
            for prop, val in model.molecule_properties:
                propval = cmd.get_property(prop, obj)
                self.assertEqual(propval, val)

            self.assertEqual(natoms, len(model.atom))

            # need to test values of all atom properties, including the ones that were set above
            stored.prop_lookup = {}
            cmd.iterate(obj, "stored.prop_lookup[index-1] = properties.all")
            idx = 0
            for at in model.atom:
                for prop in at.atom_properties.keys():
                    val = at.atom_properties[prop]
                    self.assertEqual(val, stored.prop_lookup[idx][prop])
                idx += 1
Example #2
0
 def testSetNoAtomProperty(self):
     try:
         cmd.set_atom_property('test_prop', 1, "index 1")
     except:
         self.assertEqual(False, True)
         pass