<s> """<STR_LIT>""" <EOL> import numpy as np <EOL> from numpy . testing import assert_equal , assert_raises <EOL> import statsmodels . stats . sandwich_covariance as sw <EOL> from statsmodels . tools . grouputils import Group , GroupSorted <EOL> class CheckPanelLagMixin ( object ) : <EOL> def calculate ( self ) : <EOL> self . g = g = GroupSorted ( self . gind ) <EOL> self . alla = [ ( lag , sw . lagged_groups ( self . x , lag , g . groupidx ) ) <EOL> for lag in range ( <NUM_LIT:5> ) ] <EOL> def test_values ( self ) : <EOL> for lag , ( y0 , ylag ) in self . alla : <EOL> assert_equal ( y0 , self . alle [ lag ] . T ) <EOL> assert_equal ( y0 , ylag + lag ) <EOL> def test_raises ( self ) : <EOL> mlag = self . mlag <EOL> assert_raises ( ValueError , sw . lagged_groups , self . x , mlag , <EOL> self . g . groupidx ) <EOL> class TestBalanced ( CheckPanelLagMixin ) : <EOL> def __init__ ( self ) : <EOL> self . gind = np . repeat ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] , <NUM_LIT:5> ) <EOL> self . mlag = <NUM_LIT:5> <EOL> x = np . arange ( <NUM_LIT:15> ) <EOL> x += <NUM_LIT:10> ** self . gind <EOL> self . x = x [ : , None ] <EOL> self . alle = { <EOL> <NUM_LIT:0> : np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:15> , <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:1> : np . array ( [ [ <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:2> : np . array ( [ [ <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:3> : np . array ( [ [ <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:4> : np . array ( [ [ <NUM_LIT:5> , <NUM_LIT> , <NUM_LIT> ] ] ) <EOL> } <EOL> self . calculate ( ) <EOL> class TestUnBalanced ( CheckPanelLagMixin ) : <EOL> def __init__ ( self ) : <EOL> self . gind = gind = np . repeat ( [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:5> , <NUM_LIT:10> ] ) <EOL> self . mlag = <NUM_LIT:10> <EOL> x = np . arange ( <NUM_LIT> ) <EOL> x += <NUM_LIT:10> ** gind <EOL> self . x = x [ : , None ] <EOL> self . alle = { <EOL> <NUM_LIT:0> : np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:15> , <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:1> : np . array ( [ [ <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT> , <NUM_LIT:15> , <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:2> : np . array ( [ [ <NUM_LIT:3> , <NUM_LIT:15> , <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <EOL> <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:3> : np . array ( [ [ <NUM_LIT:16> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:4> : np . array ( [ [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> <NUM_LIT:5> : np . array ( [ [ <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT> ] ] ) , <EOL> } <EOL> self . calculate ( ) <EOL> if __name__ == '<STR_LIT:__main__>' : <EOL> import nose <EOL> nose . runmodule ( argv = [ __file__ , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] , exit = False ) </s>
