1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-11-03 12:43:55 +01:00

Adapt the tests

This commit is contained in:
q-posev 2022-07-04 11:23:47 +02:00
parent 0bbe16efce
commit 405f19c4bc
6 changed files with 66 additions and 21 deletions

View File

@ -35,7 +35,7 @@ def test_void():
def test_orbital_list(): def test_orbital_list():
"""Convert one determinant into a list of orbitals.""" """Convert one determinant into a list of orbitals."""
orb_list_up, orb_list_dn = trexio.to_orbital_list_up_dn(int64_num, det_test) orb_list_up, orb_list_dn = trexio.to_orbital_list_up_dn(int64_num, det_test)
assert orb_list_up[0] == 0 assert orb_list_up[0] == 0
assert orb_list_dn[0] == 1 assert orb_list_dn[0] == 1
@ -64,7 +64,7 @@ class TestIO:
self.filename = filename self.filename = filename
if not mode: if not mode:
mode = self.mode mode = self.mode
else: else:
self.mode = mode self.mode = mode
if not back_end: if not back_end:
back_end = self.back_end back_end = self.back_end
@ -73,7 +73,7 @@ class TestIO:
self.test_file = trexio.File(filename, mode, back_end) self.test_file = trexio.File(filename, mode, back_end)
assert self.test_file.exists assert self.test_file.exists
def test_close(self): def test_close(self):
"""Close the file.""" """Close the file."""
@ -82,7 +82,7 @@ class TestIO:
self.test_file.close() self.test_file.close()
assert not self.test_file.isOpen assert not self.test_file.isOpen
def test_errors(self): def test_errors(self):
"""Test some exceptions based on trexio.Error class.""" """Test some exceptions based on trexio.Error class."""
self.open(filename='unsafe_' + self.filename, mode='w', back_end=self.back_end) self.open(filename='unsafe_' + self.filename, mode='w', back_end=self.back_end)
@ -103,7 +103,7 @@ class TestIO:
trexio.write_nucleus_num(self.test_file, nucleus_num) trexio.write_nucleus_num(self.test_file, nucleus_num)
assert trexio.has_nucleus_num(self.test_file) assert trexio.has_nucleus_num(self.test_file)
def test_str(self): def test_str(self):
"""Write a string.""" """Write a string."""
self.open() self.open()
@ -133,7 +133,7 @@ class TestIO:
"""Write array of coordinates.""" """Write array of coordinates."""
self.open() self.open()
if not trexio.has_nucleus_num(self.test_file): if not trexio.has_nucleus_num(self.test_file):
self.test_num() self.test_num()
trexio.write_nucleus_coord(self.test_file, nucleus_coord) trexio.write_nucleus_coord(self.test_file, nucleus_coord)
assert trexio.has_nucleus_coord(self.test_file) assert trexio.has_nucleus_coord(self.test_file)
@ -192,11 +192,21 @@ class TestIO:
self.test_array_1D() self.test_array_1D()
self.test_array_2D() self.test_array_2D()
assert trexio.has_nucleus(self.test_file)
trexio.delete_nucleus(self.test_file) trexio.delete_nucleus(self.test_file)
assert not trexio.has_nucleus_num(self.test_file) assert not trexio.has_nucleus_num(self.test_file)
assert not trexio.has_nucleus_charge(self.test_file) assert not trexio.has_nucleus_charge(self.test_file)
assert not trexio.has_nucleus_coord(self.test_file) assert not trexio.has_nucleus_coord(self.test_file)
assert not trexio.has_nucleus(self.test_file)
def test_has_group(self):
"""Check existense of a group."""
self.open()
assert trexio.has_nucleus(self.test_file)
assert not trexio.has_rdm(self.test_file)
def test_context_manager(self): def test_context_manager(self):
@ -315,6 +325,6 @@ class TestIO:
def test_str_read(self): def test_str_read(self):
"""Read a string.""" """Read a string."""
self.open(mode='r') self.open(mode='r')
point_group_r = trexio.read_nucleus_point_group(self.test_file) point_group_r = trexio.read_nucleus_point_group(self.test_file)
assert point_group_r == point_group assert point_group_r == point_group

View File

@ -27,7 +27,7 @@ static int test_write_dset (const char* file_name, const back_end_t backend) {
// write numerical attribute in an empty file // write numerical attribute in an empty file
rc = trexio_write_basis_shell_num(file, num); rc = trexio_write_basis_shell_num(file, num);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
// write numerical (integer) dataset in a file // write numerical (integer) dataset in a file
rc = trexio_write_basis_nucleus_index(file, nucl_index); rc = trexio_write_basis_nucleus_index(file, nucl_index);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
@ -51,10 +51,18 @@ static int test_has_dset (const char* file_name, const back_end_t backend) {
/*================= START OF TEST ==================*/ /*================= START OF TEST ==================*/
// open file // open file
file = trexio_open(file_name, 'r', backend, &rc); file = trexio_open(file_name, 'r', backend, &rc);
assert (file != NULL); assert (file != NULL);
// check that the group exists
rc = trexio_has_basis(file);
assert(rc==TREXIO_SUCCESS);
// check that the group does not exist
rc = trexio_has_mo(file);
assert(rc==TREXIO_HAS_NOT);
// check that the previously written dataset exists // check that the previously written dataset exists
rc = trexio_has_basis_nucleus_index(file); rc = trexio_has_basis_nucleus_index(file);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
@ -130,5 +138,3 @@ int main(void) {
return 0; return 0;
} }

View File

@ -27,7 +27,7 @@ static int test_write_dset (const char* file_name, const back_end_t backend) {
// write numerical attribute in an empty file // write numerical attribute in an empty file
rc = trexio_write_basis_shell_num(file, num); rc = trexio_write_basis_shell_num(file, num);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
// write numerical (integer) dataset in a file // write numerical (integer) dataset in a file
rc = trexio_write_basis_nucleus_index(file, nucl_index); rc = trexio_write_basis_nucleus_index(file, nucl_index);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
@ -51,10 +51,18 @@ static int test_has_dset (const char* file_name, const back_end_t backend) {
/*================= START OF TEST ==================*/ /*================= START OF TEST ==================*/
// open file // open file
file = trexio_open(file_name, 'r', backend, &rc); file = trexio_open(file_name, 'r', backend, &rc);
assert (file != NULL); assert (file != NULL);
// check that the group exists
rc = trexio_has_basis(file);
assert(rc==TREXIO_SUCCESS);
// check that the group does not exist
rc = trexio_has_mo(file);
assert(rc==TREXIO_HAS_NOT);
// check that the previously written dataset exists // check that the previously written dataset exists
rc = trexio_has_basis_nucleus_index(file); rc = trexio_has_basis_nucleus_index(file);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
@ -130,5 +138,3 @@ int main(void) {
return 0; return 0;
} }

View File

@ -86,6 +86,14 @@ static int test_has_dset_sparse (const char* file_name, const back_end_t backend
assert (file != NULL); assert (file != NULL);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
// check that the group exists
rc = trexio_has_mo_2e_int(file);
assert(rc==TREXIO_SUCCESS);
// check that the group does not exist
rc = trexio_has_rdm(file);
assert(rc==TREXIO_HAS_NOT);
// first check that mo_2e_int_eri_lr (we only write non-lr component in this unit test) // first check that mo_2e_int_eri_lr (we only write non-lr component in this unit test)
rc = trexio_has_mo_2e_int_eri_lr(file); rc = trexio_has_mo_2e_int_eri_lr(file);
assert(rc==TREXIO_HAS_NOT); assert(rc==TREXIO_HAS_NOT);
@ -147,7 +155,7 @@ static int test_read_dset_sparse (const char* file_name, const back_end_t backen
assert(index_read[4*offset_data_read] == 4 * (int32_t) (offset_file_read-offset)); assert(index_read[4*offset_data_read] == 4 * (int32_t) (offset_file_read-offset));
// now attempt to read so that one encounters end of file during reading (i.e. offset_file_read + chunk_read > size_max) // now attempt to read so that one encounters end of file during reading (i.e. offset_file_read + chunk_read > size_max)
offset_file_read = 97; offset_file_read = 97L;
offset_data_read = 1; offset_data_read = 1;
int64_t eof_read_size_check = SIZE - offset_file_read; // if offset_file_read=97 => only 3 integrals will be read out of total of 100 int64_t eof_read_size_check = SIZE - offset_file_read; // if offset_file_read=97 => only 3 integrals will be read out of total of 100
@ -159,11 +167,6 @@ static int test_read_dset_sparse (const char* file_name, const back_end_t backen
assert(chunk_read == eof_read_size_check); assert(chunk_read == eof_read_size_check);
assert(index_read[4*size_r-1] == 0); assert(index_read[4*size_r-1] == 0);
assert(index_read[4*offset_data_read] == 4 * (int32_t) (offset_file_read-offset)); assert(index_read[4*offset_data_read] == 4 * (int32_t) (offset_file_read-offset));
/*
for(int i=0; i<size_r; ++i){
printf("%d %lf\n", index_read[4*i], value_read[i]);
}
*/
// close current session // close current session
rc = trexio_close(file); rc = trexio_close(file);

View File

@ -86,6 +86,14 @@ static int test_has_dset_sparse (const char* file_name, const back_end_t backend
assert (file != NULL); assert (file != NULL);
assert (rc == TREXIO_SUCCESS); assert (rc == TREXIO_SUCCESS);
// check that the group exists
rc = trexio_has_mo_2e_int(file);
assert(rc==TREXIO_SUCCESS);
// check that the group does not exist
rc = trexio_has_rdm(file);
assert(rc==TREXIO_HAS_NOT);
// first check that mo_2e_int_eri_lr (we only write non-lr component in this unit test) // first check that mo_2e_int_eri_lr (we only write non-lr component in this unit test)
rc = trexio_has_mo_2e_int_eri_lr(file); rc = trexio_has_mo_2e_int_eri_lr(file);
assert(rc==TREXIO_HAS_NOT); assert(rc==TREXIO_HAS_NOT);

View File

@ -143,6 +143,12 @@ subroutine test_write(file_name, back_end)
rc = trexio_has_determinant_list(trex_file) rc = trexio_has_determinant_list(trex_file)
call trexio_assert(rc, TREXIO_HAS_NOT, 'SUCCESS HAS NOT 4') call trexio_assert(rc, TREXIO_HAS_NOT, 'SUCCESS HAS NOT 4')
rc = trexio_has_nucleus(trex_file)
call trexio_assert(rc, TREXIO_HAS_NOT, 'SUCCESS HAS NOT 5')
rc = trexio_has_ao_2e_int(trex_file)
call trexio_assert(rc, TREXIO_HAS_NOT, 'SUCCESS HAS NOT 6')
rc = trexio_write_nucleus_num(trex_file, nucleus_num) rc = trexio_write_nucleus_num(trex_file, nucleus_num)
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE NUM') call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS WRITE NUM')
@ -207,6 +213,12 @@ subroutine test_write(file_name, back_end)
rc = trexio_has_determinant_list(trex_file) rc = trexio_has_determinant_list(trex_file)
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS HAS 4') call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS HAS 4')
rc = trexio_has_nucleus(trex_file)
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS HAS 5')
rc = trexio_has_ao_2e_int(trex_file)
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS HAS 6')
rc = trexio_close(trex_file) rc = trexio_close(trex_file)
call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS CLOSE') call trexio_assert(rc, TREXIO_SUCCESS, 'SUCCESS CLOSE')