def test_crystal_structure_handling(self): sample = self._ws.sample() self.assertEquals(sample.hasCrystalStructure(), False) self.assertRaises(RuntimeError, sample.getCrystalStructure) cs = CrystalStructure('5.43 5.43 5.43', 'F d -3 m', 'Si 0 0 0 1.0 0.01') sample.setCrystalStructure(cs) self.assertEquals(sample.hasCrystalStructure(), True) cs_from_sample = sample.getCrystalStructure() self.assertEquals(cs.getSpaceGroup().getHMSymbol(), cs_from_sample.getSpaceGroup().getHMSymbol()) self.assertEquals(cs.getUnitCell().a(), cs_from_sample.getUnitCell().a()) self.assertEquals(len(cs.getScatterers()), len(cs_from_sample.getScatterers())) self.assertEquals(cs.getScatterers()[0], cs_from_sample.getScatterers()[0]) sample.clearCrystalStructure() self.assertEquals(sample.hasCrystalStructure(), False) self.assertRaises(RuntimeError, sample.getCrystalStructure)
def test_scatterers(self): initialString = "Al 1/3 0.454 1/12 1 0.01;Si 0.1 0.2 0.3 0.99 0.1" structure = CrystalStructure("5.43 5.42 5.41", "F d -3 m", initialString) scatterers = structure.getScatterers() self.assertEqual(';'.join(scatterers), initialString)