def test_get_coordinate(self): """ ABCLattice.get_coordinate is the same for all lattices, therefore tested only once. """ default = make_triclinic_lattice( 'Lattice3', (0.2, 0.4, 0.9), (0.8, 0.4, 0.5), (5, 10, 15), (-2.0, 0.0, 1.0)) container = self.container_factory( default.name, default.primitive_cell, default.size, default.origin) p1 = default.primitive_cell.p1 p2 = default.primitive_cell.p2 p3 = default.primitive_cell.p3 x, y, z = numpy.meshgrid(range( default.size[0]), range(default.size[1]), range(default.size[2])) indexes = zip(x.flat, y.flat, z.flat) expected = zip(x.ravel()*p1[0] + y.ravel()*p2[0] + z.ravel()*p3[0] + default.origin[0], x.ravel()*p1[1] + y.ravel()*p2[1] + z.ravel()*p3[1] + default.origin[1], x.ravel()*p1[2] + y.ravel()*p2[2] + z.ravel()*p3[2] + default.origin[2]) for i, index in enumerate(indexes): assert_array_almost_equal(container.get_coordinate(index), expected[i])
def test_make_triclinic_lattice(self): lattice = make_triclinic_lattice('Lattice13', (self.a, self.b, self.c), (self.alpha, self.beta, self.gamma), (4, 5, 6)) self.assertIsInstance(lattice, Lattice) self.assertEqual(lattice.name, 'Lattice13') self.assertEqual(lattice.primitive_cell.bravais_lattice, BravaisLattice.TRICLINIC) assert_array_equal(lattice.size, (4, 5, 6)) assert_array_equal(lattice.origin, (0, 0, 0))
def test_make_triclinic_lattice(self): lattice = make_triclinic_lattice( 'Lattice13', (self.a, self.b, self.c), (self.alpha, self.beta, self.gamma), (4, 5, 6)) self.assertIsInstance(lattice, Lattice) self.assertEqual(lattice.name, 'Lattice13') self.assertEqual(lattice.primitive_cell.bravais_lattice, BravaisLattice.TRICLINIC) assert_array_equal(lattice.size, (4, 5, 6)) assert_array_equal(lattice.origin, (0, 0, 0))