test_get_expression_variables Subroutine

public subroutine test_get_expression_variables()

Arguments

None

Calls

proc~~test_get_expression_variables~~CallsGraph proc~test_get_expression_variables test_get_expression_variables anyexceptions anyexceptions proc~test_get_expression_variables->anyexceptions assert_that assert_that proc~test_get_expression_variables->assert_that assertequal assertequal proc~test_get_expression_variables->assertequal begin begin proc~test_get_expression_variables->begin next next proc~test_get_expression_variables->next of of proc~test_get_expression_variables->of proc~get_expression_variables get_expression_variables proc~test_get_expression_variables->proc~get_expression_variables sourcelocation sourcelocation proc~test_get_expression_variables->sourcelocation proc~get_expression_variables->begin proc~get_expression_variables->next proc~get_expression_variables->of proc~mapl_return MAPL_Return proc~get_expression_variables->proc~mapl_return proc~mapl_verify MAPL_Verify proc~get_expression_variables->proc~mapl_verify proc~parser_variables_in_expression parser_variables_in_expression proc~get_expression_variables->proc~parser_variables_in_expression proc~replace_delimiter replace_delimiter proc~get_expression_variables->proc~replace_delimiter push_back push_back proc~get_expression_variables->push_back at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception proc~parser_variables_in_expression->proc~mapl_return proc~parser_variables_in_expression->push_back interface~mapl_assert MAPL_Assert proc~parser_variables_in_expression->interface~mapl_assert proc~lowcase LowCase proc~parser_variables_in_expression->proc~lowcase proc~realnum RealNum proc~parser_variables_in_expression->proc~realnum

Source Code

   subroutine test_get_expression_variables()
      type(StringVector) :: variables
      type(StringVectorIterator) :: iter
      character(len=:), allocatable :: expected(:), variable
      integer :: status, i

      i = 0
      expected = [character(len=16) :: 'GC1/F1', 'GC2/F2']
      variables = get_expression_variables('GC1.F1 + GC2.F2', _RC)

      iter = variables%begin()
      do while(iter /= variables%end())
         i = i + 1
         variable = iter%of()
         @assertEqual(expected(i), variable, 'Expected does not match actual.')
         call iter%next()
      end do

   end subroutine test_get_expression_variables