test_lattice.py 文件源码

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

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


问题


面经


文章

微信
公众号

扫码关注公众号