julienne_vector_test_description_s.f90 Source File


This file depends on

sourcefile~~julienne_vector_test_description_s.f90~~EfferentGraph sourcefile~julienne_vector_test_description_s.f90 julienne_vector_test_description_s.f90 sourcefile~julienne_vector_test_description_m.f90 julienne_vector_test_description_m.f90 sourcefile~julienne_vector_test_description_s.f90->sourcefile~julienne_vector_test_description_m.f90 sourcefile~julienne_string_m.f90 julienne_string_m.f90 sourcefile~julienne_vector_test_description_m.f90->sourcefile~julienne_string_m.f90 sourcefile~julienne_test_result_m.f90 julienne_test_result_m.f90 sourcefile~julienne_vector_test_description_m.f90->sourcefile~julienne_test_result_m.f90 sourcefile~julienne_test_result_m.f90->sourcefile~julienne_string_m.f90

Source Code

submodule(julienne_vector_test_description_m) julienne_vector_test_description_s
  use assert_m, only : assert
  implicit none

contains

  module procedure contains_text
    integer i
    associate(num_descriptions => size(self%description_vector_))
      allocate(match_vector(num_descriptions))
      do i = 1, num_descriptions
        match_vector(i) = index(self%description_vector_(i)%string(), substring ) /= 0
      end do
    end associate
  end procedure

  module procedure construct
    vector_test_description%description_vector_ = description_vector
    vector_test_description%vector_function_strategy_ = vector_function_strategy
  end procedure

  module procedure run
    associate(vector_result => self%vector_function_strategy_%vector_function())
      call assert(size(self%description_vector_)==size(vector_result), "julienne_vector_test_description_s: size match")
      test_results = test_result_t(self%description_vector_, vector_result)
    end associate
  end procedure

end submodule julienne_vector_test_description_s