subroutine test_expression()
character(len=iclen_calc) :: outlin0
doubleprecision :: outval
character(len=:),allocatable :: string
integer :: ierr, ilen
call unit_test_start('expression',msg='')
string='A=3.4**5 '
call expression(string,outval,outlin0,ierr,ilen)
call unit_test('expression', ierr==0, 'error flag should be zero',ierr)
call unit_test('expression', ilen==8, 'trimmed expression length should be eight',ilen)
call unit_test_end('expression',msg='')
string='$STR("The value is ",nint(40/4))'
call expression(string,outval,outlin0,ierr,ilen)
call unit_test('expression', ierr==2, 'string returned',trim(outlin0)//'')
string='# this is a comment'
!call unit_test('expression', ierr==1, 'expression is a comment',ierr)
end subroutine test_expression