Added set_variable and a test for it

This commit is contained in:
Karl Hammond
2022-09-30 18:31:18 -05:00
parent 756d24ff9e
commit d301ff9961
3 changed files with 47 additions and 6 deletions

View File

@ -248,10 +248,9 @@ FUNCTION f_lammps_extract_variable_string () BIND(C)
USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_ptr
USE LIBLAMMPS
USE keepvar, ONLY : lmp, f2c_string
IMPLICIT NONE
TYPE(c_ptr) :: f_lammps_extract_variable_string
CHARACTER(LEN=20) :: string
CHARACTER(LEN=40) :: string
string = lmp%extract_variable('str')
f_lammps_extract_variable_string = f2c_string(string)
@ -287,7 +286,7 @@ FUNCTION f_lammps_extract_variable_getenv () BIND(C)
USE keepvar, ONLY : lmp, f2c_string
IMPLICIT NONE
TYPE(c_ptr) :: f_lammps_extract_variable_getenv
CHARACTER(LEN=20) :: string
CHARACTER(LEN=40) :: string
string = lmp%extract_variable('username')
f_lammps_extract_variable_getenv = f2c_string(string)
@ -384,4 +383,16 @@ FUNCTION f_lammps_extract_variable_vector(i) BIND(C)
vector = lmp%extract_variable('center') ! z-coordinates
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
USE LIBLAMMPS
USE keepvar, 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
! vim: sts=2 ts=2 sw=2 et

View File

@ -42,6 +42,7 @@ 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();
}
class LAMMPS_extract_variable : public ::testing::Test {
@ -136,6 +137,10 @@ 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();
fstr = f_lammps_extract_variable_string();
EXPECT_STREQ(fstr, "this is the new string");
std::free(fstr);
};
TEST_F(LAMMPS_extract_variable, format)