test_lattice.py 文件源码

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

项目:lattice_mc 作者: bjmorgan 项目源码 文件源码
def test_potential_jumps_if_lattice_is_mostly_empty( self, mock_Jump ): # lattice is mostly vacant
        jumps = [ Mock( spec=Jump ), Mock( spec=Jump ) ]
        mock_Jump.side_effect = jumps
        self.lattice.number_of_occupied_sites = 1 
        self.lattice_number_of_sites = 4
        site = Mock( spec=Site )
        site.neighbours = [ 2, 3 ]
        occupied_sites = [ site ]
        unoccupied_sites = [ Mock( spec=Site ), Mock( spec=Site ), Mock( spec=Site ) ]
        self.lattice.nn_energy = 'A'
        self.lattice.cn_energies = 'B'
        self.lattice.jump_lookup_table = 'C'
        for s in unoccupied_sites:
            s.is_occupied = False
        with patch( 'lattice_mc.lattice.Lattice.occupied_sites' ) as mock_occupied_sites:
            with patch( 'lattice_mc.lattice.Lattice.site_with_id' ) as mock_site_with_id:
                mock_occupied_sites.return_value = occupied_sites
                mock_site_with_id.side_effect = unoccupied_sites[:2]
                potential_jumps = self.lattice.potential_jumps()
                self.assertEqual( potential_jumps, jumps )
                self.assertEqual( mock_Jump.mock_calls[0][1], ( site, unoccupied_sites[0], 'A', 'B', 'C' ) )
                self.assertEqual( mock_Jump.mock_calls[1][1], ( site, unoccupied_sites[1], 'A', 'B', 'C' ) )
                mock_site_with_id.assert_has_calls( [ call(2), call(3) ] )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号