test_086 Subroutine

subroutine test_086(id, nfail)

Uses

  • proc~~test_086~~UsesGraph proc~test_086 test_086 module~forcolormap_info forcolormap_info proc~test_086->module~forcolormap_info module~forcolormap_cm_matplotlib forcolormap_cm_matplotlib module~forcolormap_info->module~forcolormap_cm_matplotlib module~forcolormap_cm_miscellaneous forcolormap_cm_miscellaneous module~forcolormap_info->module~forcolormap_cm_miscellaneous module~forcolormap_cm_scientific forcolormap_cm_scientific module~forcolormap_info->module~forcolormap_cm_scientific module~forcolormap_parameters forcolormap_parameters module~forcolormap_info->module~forcolormap_parameters module~forcolormap_cm_matplotlib->module~forcolormap_parameters module~forcolormap_cm_miscellaneous->module~forcolormap_parameters module~forcolormap_cm_scientific->module~forcolormap_parameters iso_fortran_env iso_fortran_env module~forcolormap_parameters->iso_fortran_env

Ensure cmap_info does not contain duplicate colormap names.

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: id
integer, intent(inout) :: nfail

Calls

proc~~test_086~~CallsGraph proc~test_086 test_086 proc~get_name~2 Colormaps_info%get_name proc~test_086->proc~get_name~2 proc~get_ncolormaps Colormaps_info%get_ncolormaps proc~test_086->proc~get_ncolormaps proc~report_test report_test proc~test_086->proc~report_test

Called by

proc~~test_086~~CalledByGraph proc~test_086 test_086 program~check check program~check->proc~test_086

Source Code

   subroutine test_086(id, nfail)
      use forcolormap_info, only: cmap_info
      integer, intent(inout) :: id, nfail
      character(len=*), parameter :: name = "cmap_info: all colormap names are unique (no duplicates)"
      logical :: ok
      integer :: i, j, n
      character(len=:), allocatable :: ni, nj

      n  = cmap_info%get_ncolormaps()
      ok = .true.

      do i = 1, n
         ni = trim(cmap_info%get_name(i))
         do j = i + 1, n
            nj = trim(cmap_info%get_name(j))
            if (ni == nj) then
               ok = .false.
               exit
            end if
         end do
         if (.not. ok) exit
      end do

      call report_test(name, ok, id, nfail)
   end subroutine test_086