add tests for new library APIs

This commit is contained in:
Axel Kohlmeyer
2024-01-24 04:47:59 -05:00
parent 7b210dd97e
commit 4a13fe68e0
4 changed files with 57 additions and 6 deletions

View File

@ -361,15 +361,23 @@ FUNCTION f_lammps_extract_variable_vector(i) BIND(C)
f_lammps_extract_variable_vector = vector(i)
END FUNCTION f_lammps_extract_variable_vector
SUBROUTINE f_lammps_set_variable_string() BIND(C)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_double, c_int
SUBROUTINE f_lammps_set_string_variable() BIND(C)
USE LIBLAMMPS
USE keepstuff, ONLY : lmp, f2c_string
IMPLICIT NONE
CHARACTER(LEN=40) :: string
string = "this is the new string"
CALL lmp%set_variable('str', string)
END SUBROUTINE f_lammps_set_variable_string
CALL lmp%set_string_variable('str', string)
END SUBROUTINE f_lammps_set_string_variable
SUBROUTINE f_lammps_set_internal_variable() BIND(C)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_double
USE LIBLAMMPS
USE keepstuff, ONLY : lmp, f2c_string
IMPLICIT NONE
CALL lmp%set_internal_variable('int', -2.5_c_double)
END SUBROUTINE f_lammps_set_internal_variable
! vim: sts=2 ts=2 sw=2 et

View File

@ -43,7 +43,9 @@ double f_lammps_extract_variable_internal();
double f_lammps_extract_variable_equal();
double f_lammps_extract_variable_atom(int);
double f_lammps_extract_variable_vector(int);
void f_lammps_set_variable_string();
void f_lammps_set_string_variable();
void f_lammps_set_internal_variable();
char *c_path_join(const char *, const char *);
}
@ -155,7 +157,7 @@ TEST_F(LAMMPS_extract_variable, string)
char *fstr = f_lammps_extract_variable_string();
EXPECT_STREQ(fstr, "this is a string");
std::free(fstr);
f_lammps_set_variable_string();
f_lammps_set_string_variable();
fstr = f_lammps_extract_variable_string();
EXPECT_STREQ(fstr, "this is the new string");
std::free(fstr);
@ -254,6 +256,8 @@ TEST_F(LAMMPS_extract_variable, internal)
{
f_lammps_setup_extract_variable();
EXPECT_DOUBLE_EQ(f_lammps_extract_variable_internal(), 4.0);
f_lammps_set_internal_variable();
EXPECT_DOUBLE_EQ(f_lammps_extract_variable_internal(), -2.5);
};
TEST_F(LAMMPS_extract_variable, equal)