test_init_lattice.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:lattice_mc 作者: bjmorgan 项目源码 文件源码
def test_cubic_lattice( self, mock_lattice, mock_site ):
        a, b, c, = 2, 2, 2
        spacing = 1.0
        mock_site.side_effect = range(2*2*2)
        mock_lattice.return_value = 'bar'
        lattice = init_lattice.cubic_lattice( a, b, c, spacing )
        expected_site_calls = [ [ 1, np.array( [ 0., 0., 0. ] ), [ 2, 2, 3, 3, 5, 5 ], 0.0, 'L' ],
                                [ 2, np.array( [ 1., 0., 0. ] ), [ 1, 1, 4, 4, 6, 6 ], 0.0, 'L' ],
                                [ 3, np.array( [ 0., 1., 0. ] ), [ 4, 4, 1, 1, 7, 7 ], 0.0, 'L' ],
                                [ 4, np.array( [ 1., 1., 0. ] ), [ 3, 3, 2, 2, 8, 8 ], 0.0, 'L' ],
                                [ 5, np.array( [ 0., 0., 1. ] ), [ 6, 6, 7, 7, 1, 1 ], 0.0, 'L' ],
                                [ 6, np.array( [ 1., 0., 1. ] ), [ 5, 5, 8, 8, 2, 2 ], 0.0, 'L' ],
                                [ 7, np.array( [ 0., 1., 1. ] ), [ 8, 8, 5, 5, 3, 3 ], 0.0, 'L' ],
                                [ 8, np.array( [ 1., 1., 1. ] ), [ 7, 7, 6, 6, 4, 4 ], 0.0, 'L' ] ]
        for call, e in zip( mock_site.mock_calls, expected_site_calls ):
            self.assertEqual( call[1][0], e[0] ) # site number
            np.testing.assert_array_equal( call[1][1], e[1] ) # site coordinates
            self.assertEqual( call[1][2], e[2] ) # neighbour lists
            self.assertEqual( call[1][3], e[3] ) # ?
            self.assertEqual( call[1][4], e[4] ) # site label
        self.assertEqual( mock_lattice.mock_calls[0][1][0], list(range(2*2*2)) )
        self.assertEqual( lattice, 'bar' )
        np.testing.assert_array_equal( mock_lattice.mock_calls[0][2]['cell_lengths'], np.array( [ a, b, c, ] ) )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号