Skip to content

Commit eeafbf1

Browse files
committed
update unittests
1 parent f329d3d commit eeafbf1

File tree

3 files changed

+51
-65
lines changed

3 files changed

+51
-65
lines changed

source/module_io/test/cal_dos_test.cpp

Lines changed: 26 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class DosTest : public ::testing::Test
2929
TEST_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)
7277
TEST_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

114119
TEST_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
198161
int 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();

source/module_io/test/write_dos_pw_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ int main(int argc, char **argv)
181181
MPI_Comm_rank(MPI_COMM_WORLD,&GlobalV::MY_RANK);
182182

183183
// only test the second one
184-
::testing::GTEST_FLAG(filter) = "DosPWTest.Dos2";
184+
// ::testing::GTEST_FLAG(filter) = "DosPWTest.Dos2";
185185

186186
int result = RUN_ALL_TESTS();
187187

source/module_io/test_serial/rho_io_test.cpp

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,23 @@ LCAO_Orbitals::~LCAO_Orbitals()
2121
{
2222
}
2323
#endif
24+
25+
2426
Magnetism::Magnetism()
2527
{
2628
this->tot_magnetization = 0.0;
2729
this->abs_magnetization = 0.0;
2830
this->start_magnetization = nullptr;
2931
}
32+
33+
3034
Magnetism::~Magnetism()
3135
{
3236
delete[] this->start_magnetization;
3337
}
3438
Parallel_Grid::~Parallel_Grid() {}
3539

40+
3641
#define private public
3742
#include "module_parameter/parameter.h"
3843
#undef private
@@ -167,6 +172,7 @@ TEST_F(RhoIOTest, TrilinearInterpolate)
167172
EXPECT_DOUBLE_EQ(data[100], 0.018931708073604996);
168173
}
169174

175+
170176
struct CubeIOTest : public ::testing::Test
171177
{
172178
std::vector<std::string> comment;
@@ -190,7 +196,10 @@ struct CubeIOTest : public ::testing::Test
190196

191197
TEST_F(CubeIOTest, ReadCube)
192198
{
193-
ModuleIO::read_cube(fn, comment, natom, origin, nx_read, ny_read, nz_read, dx, dy, dz, atom_type, atom_charge, atom_pos, data_read);
199+
ModuleIO::read_cube(fn, comment, natom, origin,
200+
nx_read, ny_read, nz_read,
201+
dx, dy, dz,
202+
atom_type, atom_charge, atom_pos, data_read);
194203
EXPECT_EQ(comment[0], "STEP: 0 Cubefile created from ABACUS. Inner loop is z, followed by y and x");
195204
EXPECT_EQ(comment[1], "1 (nspin) 0.461002 (fermi energy, in Ry)");
196205
EXPECT_EQ(natom, 2);
@@ -213,9 +222,19 @@ TEST_F(CubeIOTest, ReadCube)
213222
EXPECT_EQ(data_read[nxyz - 1], 1.33581335706e-02);
214223
}
215224

225+
216226
TEST_F(CubeIOTest, WriteCube)
217227
{
218-
ModuleIO::read_cube(fn, comment, natom, origin, nx_read, ny_read, nz_read, dx, dy, dz, atom_type, atom_charge, atom_pos, data_read);
219-
ModuleIO::write_cube("test_write.cube", comment, natom, origin, nx_read, ny_read, nz_read, dx, dy, dz, atom_type, atom_charge, atom_pos, data_read, 11);
220-
EXPECT_EQ(system("diff -q test_write.cube ./support/SPIN1_CHG.cube"), 0);
221-
}
228+
ModuleIO::read_cube(fn, comment, natom, origin,
229+
nx_read, ny_read, nz_read,
230+
dx, dy, dz,
231+
atom_type, atom_charge, atom_pos, data_read);
232+
233+
ModuleIO::write_cube("test_write.cube",
234+
comment, natom, origin,
235+
nx_read, ny_read, nz_read,
236+
dx, dy, dz, atom_type,
237+
atom_charge, atom_pos, data_read, 11);
238+
239+
EXPECT_EQ(system("diff -q test_write.cube ./support/SPIN1_CHG.cube"), 0);
240+
}

0 commit comments

Comments
 (0)