@@ -29,7 +29,7 @@ class DosTest : public ::testing::Test
2929TEST_F (DosTest,Dos)
3030{
3131 // is,fa,fa1,de_ev,emax_ev,emin_ev,bcoeff,nks,nkstot,nbands
32- DosPrepare dosp = DosPrepare (0 ," DOS1" ," DOS1_smear.dat" ,0.005 ,18 ,-6 ,0.07 ,36 ,36 ,8 );
32+ DosPrepare dosp = DosPrepare (0 ," DOS1.dat " ," DOS1_smear.dat" ,0.005 ,18 ,-6 ,0.07 ,36 ,36 ,8 );
3333 dosp.set_isk ();
3434 dosp.read_wk ();
3535 dosp.read_istate_info ();
@@ -56,14 +56,19 @@ TEST_F(DosTest,Dos)
5656 std::ifstream ifs;
5757 ifs.open (" DOS1_smear.dat" );
5858 std::string str ((std::istreambuf_iterator<char >(ifs)),std::istreambuf_iterator<char >());
59- EXPECT_THAT (str, testing::HasSubstr (" 3200" )); // number of electrons is 32
59+ EXPECT_THAT (str, testing::HasSubstr (" 4801 # number of points" ));
60+ EXPECT_THAT (str, testing::HasSubstr (" -5.53 0.0241031 0.000772634" ));
61+ EXPECT_THAT (str, testing::HasSubstr (" 17.19 0.0952359 15.9976" ));
6062 ifs.close ();
61- ifs.open (" DOS1" );
63+ remove (" DOS1_smear.dat" );
64+
65+ ifs.open (" DOS1.dat" );
6266 std::string str1 ((std::istreambuf_iterator<char >(ifs)),std::istreambuf_iterator<char >());
63- EXPECT_THAT (str1, testing::HasSubstr (" 4800" )); // number of energy points is (18-(-6))/0.005
67+ EXPECT_THAT (str1, testing::HasSubstr (" 4801 # number of points" ));
68+ EXPECT_THAT (str1, testing::HasSubstr (" -5.39 0.03125 0.03125" ));
69+ EXPECT_THAT (str1, testing::HasSubstr (" -1.25 0.1875 1.90625" ));
6470 ifs.close ();
65- remove (" DOS1_smear.dat" );
66- remove (" DOS1" );
71+ remove (" DOS1.dat" );
6772#ifdef __MPI
6873 }
6974#endif
@@ -72,13 +77,13 @@ TEST_F(DosTest,Dos)
7277TEST_F (DosTest,DosW1)
7378{
7479 // is,fa,fa1,de_ev,emax_ev,emin_ev,bcoeff,nks,nkstot,nbands
75- DosPrepare dosp = DosPrepare (0 ," DOS1" ," DOS1_smear.dat" ,-0.005 ,18 ,-6 ,0.07 ,36 ,36 ,8 );
80+ DosPrepare dosp = DosPrepare (0 ," DOS1.dat " ," DOS1_smear.dat" ,-0.005 ,18 ,-6 ,0.07 ,36 ,36 ,8 );
7681 dosp.set_isk ();
7782 dosp.read_wk ();
7883 dosp.read_istate_info ();
7984 EXPECT_EQ (dosp.is ,0 );
8085 EXPECT_LE (dosp.de_ev ,0 );
81- GlobalV::ofs_warning.open (" warninglog1 " );
86+ GlobalV::ofs_warning.open (" warning1.log " );
8287 EXPECT_NO_THROW (ModuleIO::cal_dos (dosp.is ,
8388 dosp.fa ,
8489 dosp.fa1 ,
@@ -99,27 +104,27 @@ TEST_F(DosTest,DosW1)
99104 {
100105#endif
101106 std::ifstream ifs;
102- ifs.open (" warninglog1 " );
107+ ifs.open (" warning1.log " );
103108 std::string str ((std::istreambuf_iterator<char >(ifs)),std::istreambuf_iterator<char >());
104109 EXPECT_THAT (str, testing::HasSubstr (" ModuleIO::cal_dos warning : de <= 0" ));
105110 ifs.close ();
106- remove (" warninglog1 " );
111+ remove (" warning1.log " );
107112 remove (" DOS1_smear.dat" );
108- remove (" DOS1" );
113+ remove (" DOS1.dat " );
109114#ifdef __MPI
110115 }
111116#endif
112117}
113118
114119TEST_F (DosTest,DosW2)
115120{
116- // is,fa,fa1,de_ev,emax_ev,emin_ev,bcoeff,nks,nkstot,nbands
117- DosPrepare dosp = DosPrepare (0 ," DOS1" ," DOS1_smear.dat" ,0.005 ,-6 ,18 ,0.07 ,36 ,36 ,8 );
121+ // is,fa,fa1,de_ev,emax_ev,emin_ev,bcoeff,nks,nkstot,nbands
122+ DosPrepare dosp = DosPrepare (0 ," DOS1.dat " ," DOS1_smear.dat" ,0.005 ,-6 ,18 ,0.07 ,36 ,36 ,8 );
118123 dosp.set_isk ();
119124 dosp.read_wk ();
120125 dosp.read_istate_info ();
121126 EXPECT_EQ (dosp.is ,0 );
122- GlobalV::ofs_warning.open (" warninglog2 " );
127+ GlobalV::ofs_warning.open (" warning2.log " );
123128 EXPECT_NO_THROW (ModuleIO::cal_dos (dosp.is ,
124129 dosp.fa ,
125130 dosp.fa1 ,
@@ -140,60 +145,18 @@ TEST_F(DosTest,DosW2)
140145 {
141146#endif
142147 std::ifstream ifs;
143- ifs.open (" warninglog2 " );
148+ ifs.open (" warning2.log " );
144149 std::string str ((std::istreambuf_iterator<char >(ifs)),std::istreambuf_iterator<char >());
145150 EXPECT_THAT (str, testing::HasSubstr (" ModuleIO::cal_dos warning : emax_ev < emin_ev" ));
146151 ifs.close ();
147- remove (" warninglog2 " );
152+ remove (" warning2.log " );
148153 remove (" DOS1_smear.dat" );
149- remove (" DOS1" );
154+ remove (" DOS1.dat " );
150155#ifdef __MPI
151156 }
152157#endif
153158}
154159
155- TEST_F (DosTest,DosW3)
156- {
157- // is,fa,fa1,de_ev,emax_ev,emin_ev,bcoeff,nks,nkstot,nbands
158- DosPrepare dosp = DosPrepare (0 ," DOS1" ," DOS1_smear.dat" ,0.005 ,18 ,18 ,0.07 ,36 ,36 ,8 );
159- dosp.set_isk ();
160- dosp.read_wk ();
161- dosp.read_istate_info ();
162- EXPECT_EQ (dosp.is ,0 );
163- GlobalV::ofs_warning.open (" warninglog3" );
164- EXPECT_NO_THROW (ModuleIO::cal_dos (dosp.is ,
165- dosp.fa ,
166- dosp.fa1 ,
167- dosp.de_ev ,
168- dosp.emax_ev ,
169- dosp.emin_ev ,
170- dosp.bcoeff ,
171- dosp.nks ,
172- dosp.nkstot ,
173- dosp.wk ,
174- dosp.isk ,
175- dosp.nbands ,
176- dosp.ekb ,
177- dosp.wg ));
178- GlobalV::ofs_warning.close ();
179- #ifdef __MPI
180- if (GlobalV::MY_RANK==0 )
181- {
182- #endif
183- std::ifstream ifs;
184- ifs.open (" warninglog3" );
185- std::string str ((std::istreambuf_iterator<char >(ifs)),std::istreambuf_iterator<char >());
186- EXPECT_THAT (str, testing::HasSubstr (" ModuleIO::cal_dos warning : npoints <= 0" ));
187- ifs.close ();
188- remove (" warninglog3" );
189- remove (" DOS1_smear.dat" );
190- remove (" DOS1" );
191- #ifdef __MPI
192- }
193- #endif
194- }
195-
196-
197160#ifdef __MPI
198161int main (int argc, char **argv)
199162{
@@ -202,6 +165,10 @@ int main(int argc, char **argv)
202165 testing::InitGoogleTest (&argc,argv);
203166 MPI_Comm_size (MPI_COMM_WORLD,&GlobalV::NPROC);
204167 MPI_Comm_rank (MPI_COMM_WORLD,&GlobalV::MY_RANK);
168+
169+ // only test a certain one
170+ // ::testing::GTEST_FLAG(filter) = "DosTest.DosW1";
171+
205172 int result = RUN_ALL_TESTS ();
206173
207174 MPI_Finalize ();
0 commit comments