mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-12-22 20:35:44 +01:00
add C test for nucleus_label
This commit is contained in:
parent
b5a6987758
commit
9142c21130
37
tests/test.c
37
tests/test.c
@ -2,6 +2,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
int test_read();
|
int test_read();
|
||||||
int test_write();
|
int test_write();
|
||||||
@ -49,6 +50,19 @@ int test_h5write() {
|
|||||||
0.00000000 , 2.47304151 , 0.00000000 ,
|
0.00000000 , 2.47304151 , 0.00000000 ,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const char* label[] = {"C" ,
|
||||||
|
"Na",
|
||||||
|
"C" ,
|
||||||
|
"C" ,
|
||||||
|
"C" ,
|
||||||
|
"C" ,
|
||||||
|
"H" ,
|
||||||
|
"Ru",
|
||||||
|
"H" ,
|
||||||
|
"H" ,
|
||||||
|
"H" ,
|
||||||
|
"H" };
|
||||||
|
|
||||||
/*================= START OF TEST ==================*/
|
/*================= START OF TEST ==================*/
|
||||||
|
|
||||||
// open file in 'write' mode
|
// open file in 'write' mode
|
||||||
@ -68,12 +82,16 @@ int test_h5write() {
|
|||||||
assert (rc == TREXIO_SUCCESS);
|
assert (rc == TREXIO_SUCCESS);
|
||||||
rc = trexio_write_nucleus_charge(file,charge);
|
rc = trexio_write_nucleus_charge(file,charge);
|
||||||
assert (rc == TREXIO_SUCCESS);
|
assert (rc == TREXIO_SUCCESS);
|
||||||
|
rc = trexio_write_nucleus_label(file,label);
|
||||||
|
assert (rc == TREXIO_SUCCESS);
|
||||||
|
|
||||||
// check if the written data exists in the file
|
// check if the written data exists in the file
|
||||||
rc = trexio_has_nucleus_num(file);
|
rc = trexio_has_nucleus_num(file);
|
||||||
assert (rc == TREXIO_SUCCESS);
|
assert (rc == TREXIO_SUCCESS);
|
||||||
rc = trexio_has_nucleus_coord(file);
|
rc = trexio_has_nucleus_coord(file);
|
||||||
assert (rc == TREXIO_SUCCESS);
|
assert (rc == TREXIO_SUCCESS);
|
||||||
|
rc = trexio_has_nucleus_label(file);
|
||||||
|
assert (rc == TREXIO_SUCCESS);
|
||||||
|
|
||||||
// should not work: try to overwrite the nucleus_num
|
// should not work: try to overwrite the nucleus_num
|
||||||
rc = trexio_write_nucleus_num(file,25);
|
rc = trexio_write_nucleus_num(file,25);
|
||||||
@ -116,6 +134,7 @@ int test_h5read() {
|
|||||||
|
|
||||||
int num;
|
int num;
|
||||||
double* coord;
|
double* coord;
|
||||||
|
char** label;
|
||||||
|
|
||||||
/*================= START OF TEST ==================*/
|
/*================= START OF TEST ==================*/
|
||||||
|
|
||||||
@ -136,6 +155,18 @@ int test_h5read() {
|
|||||||
double x = coord[30] - 2.14171677;
|
double x = coord[30] - 2.14171677;
|
||||||
assert( x*x < 1.e-14);
|
assert( x*x < 1.e-14);
|
||||||
|
|
||||||
|
// read nucleus_label
|
||||||
|
size_t max_str_len = 16;
|
||||||
|
label = (char**) malloc(num*sizeof(char*));
|
||||||
|
for (int i=0; i<num; i++){
|
||||||
|
label[i] = (char*) malloc(max_str_len*sizeof(char));
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = trexio_read_nucleus_label(file,label);
|
||||||
|
assert (rc == TREXIO_SUCCESS);
|
||||||
|
|
||||||
|
assert( strcmp(label[1], "Na") == 0 );
|
||||||
|
|
||||||
// close current session
|
// close current session
|
||||||
rc = trexio_close(file);
|
rc = trexio_close(file);
|
||||||
assert (rc == TREXIO_SUCCESS);
|
assert (rc == TREXIO_SUCCESS);
|
||||||
@ -156,6 +187,12 @@ int test_h5read() {
|
|||||||
/*================= END OF TEST =====================*/
|
/*================= END OF TEST =====================*/
|
||||||
|
|
||||||
free(coord);
|
free(coord);
|
||||||
|
|
||||||
|
for (int i=0; i<num; i++){
|
||||||
|
free(label[i]);
|
||||||
|
}
|
||||||
|
free(label);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user