TEST(AlphaBetaTest, FourSitesNoDisorder) { Parameters pars; pars.nmax = 3; pars.e0 = pars.t0 = pars.d0 = 1; pars.e0MaxDisorder = pars.t0MaxDisorder = pars.d0MaxDisorder = 0.0; pars.e0seed = pars.t0seed = pars.d0seed = 1; AlphaBeta ab(pars); int nsum = 1; complex_mkl z = {1.0, 0.1}; ComplexMatrix alpha; ComplexMatrix beta; ab.FillAlphaBetaMatrix(nsum, z, alpha, beta); // testing the dimensions EXPECT_EQ(alpha.GetRows(),0); EXPECT_EQ(alpha.GetCols(),0); EXPECT_EQ(beta.GetRows(),1); EXPECT_EQ(beta.GetCols(),1); //testing matrix element dcomplex x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0-pars.d0); EXPECT_DOUBLE_EQ(beta(0,0).real,x.real()); EXPECT_DOUBLE_EQ(beta(0,0).imag,x.imag()); nsum=2; ab.FillAlphaBetaMatrix(nsum, z, alpha, beta); // testing the dimensions EXPECT_EQ(alpha.GetRows(),1); EXPECT_EQ(alpha.GetCols(),1); EXPECT_EQ(beta.GetRows(),1); EXPECT_EQ(beta.GetCols(),2); //testing matrix element x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0); EXPECT_DOUBLE_EQ(alpha(0,0).real,x.real()); EXPECT_DOUBLE_EQ(alpha(0,0).imag,x.imag()); EXPECT_DOUBLE_EQ(beta(0,0).real,x.real()); EXPECT_DOUBLE_EQ(beta(0,0).imag,x.imag()); EXPECT_DOUBLE_EQ(beta(0,1).real,x.real()); EXPECT_DOUBLE_EQ(beta(0,1).imag,x.imag()); nsum =3; ab.FillAlphaBetaMatrix(nsum, z, alpha, beta); // testing the dimensions EXPECT_EQ(alpha.GetRows(),2); EXPECT_EQ(alpha.GetCols(),1); EXPECT_EQ(beta.GetRows(),2); EXPECT_EQ(beta.GetCols(),1); //testing matrix element x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0); EXPECT_DOUBLE_EQ(alpha(0,0).real,x.real()); EXPECT_DOUBLE_EQ(alpha(0,0).imag,x.imag()); x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0-pars.d0); EXPECT_DOUBLE_EQ(alpha(1,0).real,x.real()); EXPECT_DOUBLE_EQ(alpha(1,0).imag,x.imag()); x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0); EXPECT_DOUBLE_EQ(beta(0,0).real,x.real()); EXPECT_DOUBLE_EQ(beta(0,0).imag,x.imag()); x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0-pars.d0); EXPECT_DOUBLE_EQ(beta(1,0).real,x.real()); EXPECT_DOUBLE_EQ(beta(1,0).imag,x.imag()); nsum =4; ab.FillAlphaBetaMatrix(nsum, z, alpha, beta); // testing the dimensions EXPECT_EQ(alpha.GetRows(),1); EXPECT_EQ(alpha.GetCols(),2); EXPECT_EQ(beta.GetRows(),1); EXPECT_EQ(beta.GetCols(),1); //testing matrix element x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0); EXPECT_DOUBLE_EQ(alpha(0,0).real,x.real()); EXPECT_DOUBLE_EQ(alpha(0,0).imag,x.imag()); EXPECT_DOUBLE_EQ(alpha(0,1).real,x.real()); EXPECT_DOUBLE_EQ(alpha(0,1).imag,x.imag()); EXPECT_DOUBLE_EQ(beta(0,0).real,x.real()); EXPECT_DOUBLE_EQ(beta(0,0).imag,x.imag()); nsum = 5; ab.FillAlphaBetaMatrix(nsum, z, alpha, beta); // testing the dimensions EXPECT_EQ(alpha.GetRows(),1); EXPECT_EQ(alpha.GetCols(),1); EXPECT_EQ(beta.GetRows(),0); EXPECT_EQ(beta.GetCols(),0); //testing matrix element x = pars.t0/(convertToDcomplex(z)-pars.e0-pars.e0-pars.d0); EXPECT_DOUBLE_EQ(alpha(0,0).real,x.real()); EXPECT_DOUBLE_EQ(alpha(0,0).imag,x.imag()); }