def test_xyz(self): op = SymmOp([[1, -1, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) s = op.as_xyz_string() self.assertEqual(s, 'x-y, -y, -z') self.assertEqual(op, SymmOp.from_xyz_string(s)) op2 = SymmOp([[0, -1, 0, 0.5], [1, 0, 0, 0.5], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]]) s2 = op2.as_xyz_string() self.assertEqual(s2, '-y+1/2, x+1/2, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op2 = SymmOp([[3, -2, -1, 0.5], [-1, 0, 0, 12. / 13], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]]) s2 = op2.as_xyz_string() self.assertEqual(s2, '3x-2y-z+1/2, -x+12/13, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op3 = SymmOp.from_xyz_string('3x - 2y - z+1 /2 , -x+12/ 13, z+1/2') self.assertEqual(op2, op3) # Ensure strings can be read in any order op4 = SymmOp.from_xyz_string('1 /2 + 3X - 2y - z , 12/ 13-x, z+1/2') op5 = SymmOp.from_xyz_string('+1 /2 + 3x - 2y - z , 12/ 13-x, +1/2+z') self.assertEqual(op4, op3) self.assertEqual(op4, op5) self.assertEqual(op3, op5) self.assertRaises(ValueError, self.op.as_xyz_string) o = SymmOp.from_xyz_string('0.5+x, 0.25+y, 0.75+z') self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75]) o = SymmOp.from_xyz_string('x + 0.5, y + 0.25, z + 0.75') self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75])
def test_xyz(self): op=SymmOp([[1, -1, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) s=op.as_xyz_string() self.assertEqual(s, 'x-y, -y, -z') self.assertEqual(op, SymmOp.from_xyz_string(s)) op2=SymmOp([[0, -1, 0, 0.5], [1, 0, 0, 0.5], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]]) s2=op2.as_xyz_string() self.assertEqual(s2, '-y+1/2, x+1/2, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op2=SymmOp([[3, -2, -1, 0.5], [-1, 0, 0, 12. / 13], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]]) s2=op2.as_xyz_string() self.assertEqual(s2, '3x-2y-z+1/2, -x+12/13, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op3=SymmOp.from_xyz_string('3x - 2y - z+1 /2 , -x+12/ 13, z+1/2') self.assertEqual(op2, op3) # Ensure strings can be read in any order op4=SymmOp.from_xyz_string('1 /2 + 3X - 2y - z , 12/ 13-x, z+1/2') op5=SymmOp.from_xyz_string('+1 /2 + 3x - 2y - z , 12/ 13-x, +1/2+z') self.assertEqual(op4, op3) self.assertEqual(op4, op5) self.assertEqual(op3, op5) self.assertRaises(ValueError, self.op.as_xyz_string) o=SymmOp.from_xyz_string('0.5+x, 0.25+y, 0.75+z') self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75]) o=SymmOp.from_xyz_string('x + 0.5, y + 0.25, z + 0.75') self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75])
def test_xyz(self): op = SymmOp([[1, -1, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) s = op.as_xyz_string() self.assertEqual(s, "x-y, -y, -z") self.assertEqual(op, SymmOp.from_xyz_string(s)) op2 = SymmOp( [[0, -1, 0, 0.5], [1, 0, 0, 0.5], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]] ) s2 = op2.as_xyz_string() self.assertEqual(s2, "-y+1/2, x+1/2, z+1/2") self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op2 = SymmOp( [ [3, -2, -1, 0.5], [-1, 0, 0, 12.0 / 13], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1], ] ) s2 = op2.as_xyz_string() self.assertEqual(s2, "3x-2y-z+1/2, -x+12/13, z+1/2") self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op3 = SymmOp.from_xyz_string("3x - 2y - z+1 /2 , -x+12/ 13, z+1/2") self.assertEqual(op2, op3) # Ensure strings can be read in any order op4 = SymmOp.from_xyz_string("1 /2 + 3X - 2y - z , 12/ 13-x, z+1/2") op5 = SymmOp.from_xyz_string("+1 /2 + 3x - 2y - z , 12/ 13-x, +1/2+z") self.assertEqual(op4, op3) self.assertEqual(op4, op5) self.assertEqual(op3, op5) # TODO: assertWarns not in Python 2.x unittest # update PymatgenTest for unittest2? # self.assertWarns(UserWarning, self.op.as_xyz_string) o = SymmOp.from_xyz_string("0.5+x, 0.25+y, 0.75+z") self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75]) o = SymmOp.from_xyz_string("x + 0.5, y + 0.25, z + 0.75") self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75])
def test_xyz(self): op = SymmOp([[1, -1, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) s = op.as_xyz_string() self.assertEqual(s, 'x-y, -y, -z') self.assertEqual(op, SymmOp.from_xyz_string(s)) op2 = SymmOp([[0, -1, 0, 0.5], [1, 0, 0, 0.5], [0, 0, 1, 0.5+1e-7], [0, 0, 0, 1]]) s2 = op2.as_xyz_string() self.assertEqual(s2, '-y+1/2, x+1/2, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op2 = SymmOp([[3, -2, -1, 0.5], [-1, 0, 0, 12./13], [0, 0, 1, 0.5+1e-7], [0, 0, 0, 1]]) s2 = op2.as_xyz_string() self.assertEqual(s2, '3x-2y-z+1/2, -x+12/13, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op3 = SymmOp.from_xyz_string('3x - 2y - z+1 /2 , -x+12/ 13, z+1/2') self.assertEqual(op2, op3) self.assertRaises(ValueError, self.op.as_xyz_string)
def test_xyz(self): op = SymmOp([[1, -1, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) s = op.as_xyz_string() self.assertEqual(s, 'x-y, -y, -z') self.assertEqual(op, SymmOp.from_xyz_string(s)) op2 = SymmOp([[0, -1, 0, 0.5], [1, 0, 0, 0.5], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]]) s2 = op2.as_xyz_string() self.assertEqual(s2, '-y+1/2, x+1/2, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op2 = SymmOp([[3, -2, -1, 0.5], [-1, 0, 0, 12. / 13], [0, 0, 1, 0.5 + 1e-7], [0, 0, 0, 1]]) s2 = op2.as_xyz_string() self.assertEqual(s2, '3x-2y-z+1/2, -x+12/13, z+1/2') self.assertEqual(op2, SymmOp.from_xyz_string(s2)) op3 = SymmOp.from_xyz_string('3x - 2y - z+1 /2 , -x+12/ 13, z+1/2') self.assertEqual(op2, op3) # Ensure strings can be read in any order op4 = SymmOp.from_xyz_string('1 /2 + 3X - 2y - z , 12/ 13-x, z+1/2') op5 = SymmOp.from_xyz_string('+1 /2 + 3x - 2y - z , 12/ 13-x, +1/2+z') self.assertEqual(op4, op3) self.assertEqual(op4, op5) self.assertEqual(op3, op5) # TODO: assertWarns not in Python 2.x unittest # update PymatgenTest for unittest2? # self.assertWarns(UserWarning, self.op.as_xyz_string) o = SymmOp.from_xyz_string('0.5+x, 0.25+y, 0.75+z') self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75]) o = SymmOp.from_xyz_string('x + 0.5, y + 0.25, z + 0.75') self.assertArrayAlmostEqual(o.translation_vector, [0.5, 0.25, 0.75])