test_082 Subroutine

subroutine test_082(id, nfail)

Uses

  • proc~~test_082~~UsesGraph proc~test_082 test_082 module~forcolormap forcolormap proc~test_082->module~forcolormap module~forcolormap_cm_matplotlib forcolormap_cm_matplotlib module~forcolormap->module~forcolormap_cm_matplotlib module~forcolormap_cm_miscellaneous forcolormap_cm_miscellaneous module~forcolormap->module~forcolormap_cm_miscellaneous module~forcolormap_cm_scientific forcolormap_cm_scientific module~forcolormap->module~forcolormap_cm_scientific module~forcolormap_info forcolormap_info module~forcolormap->module~forcolormap_info module~forcolormap_parameters forcolormap_parameters module~forcolormap->module~forcolormap_parameters module~forcolormap_utils forcolormap_utils module~forcolormap->module~forcolormap_utils module~forcolormap_cm_matplotlib->module~forcolormap_parameters module~forcolormap_cm_miscellaneous->module~forcolormap_parameters module~forcolormap_cm_scientific->module~forcolormap_parameters module~forcolormap_info->module~forcolormap_cm_matplotlib module~forcolormap_info->module~forcolormap_cm_miscellaneous module~forcolormap_info->module~forcolormap_cm_scientific module~forcolormap_info->module~forcolormap_parameters iso_fortran_env iso_fortran_env module~forcolormap_parameters->iso_fortran_env module~forcolormap_utils->module~forcolormap_parameters

If cmap_info contains any entry with levels=-1, cover the check_name (levels==-1) branch.

Arguments

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

Calls

proc~~test_082~~CallsGraph proc~test_082 test_082 proc~get_levels~2 Colormaps_info%get_levels proc~test_082->proc~get_levels~2 proc~get_name~2 Colormaps_info%get_name proc~test_082->proc~get_name~2 proc~get_ncolormaps Colormaps_info%get_ncolormaps proc~test_082->proc~get_ncolormaps proc~print_status Colormap%print_status proc~test_082->proc~print_status proc~report_test report_test proc~test_082->proc~report_test proc~set Colormap%set proc~test_082->proc~set proc~assign_map Colormap%assign_map proc~set->proc~assign_map proc~check Colormap%check proc~set->proc~check proc~cubehelix_colormap cubehelix_colormap proc~set->proc~cubehelix_colormap proc~fire_colormap fire_colormap proc~set->proc~fire_colormap proc~inv_rainbow_colormap inv_rainbow_colormap proc~set->proc~inv_rainbow_colormap proc~rainbow_colormap rainbow_colormap proc~set->proc~rainbow_colormap proc~reverse Colormap%reverse proc~set->proc~reverse proc~zebra_colormap zebra_colormap proc~set->proc~zebra_colormap proc~check->proc~get_levels~2 proc~find_index Colormaps_info%find_index proc~check->proc~find_index local local proc~cubehelix_colormap->local

Called by

proc~~test_082~~CalledByGraph proc~test_082 test_082 program~check check program~check->proc~test_082

Source Code

   subroutine test_082(id, nfail)
      use forcolormap, only: Colormap, wp, cmap_info
      integer, intent(inout) :: id, nfail
      character(len=*), parameter :: name = "check_name: cover levels==-1 branch if present in cmap_info"
      logical :: ok
      type(Colormap) :: cm
      integer :: i, n, idx
      character(len=:), allocatable :: nm

      n   = cmap_info%get_ncolormaps()
      idx = 0

      do i = 1, n
         if (cmap_info%get_levels(i) == -1) then
            idx = i
            exit
         end if
      end do

      if (idx == 0) then
         ! This build has no “levels==-1” entries, so that branch cannot be exercised here.
         ok = .true.
         call report_test(name//" (no levels==-1 in cmap_info; skipped)", ok, id, nfail)
         return
      end if

      nm = trim(cmap_info%get_name(idx))

      ! Request a mismatched levels value; for levels==-1, check_name should not override it.
      call cm%set(nm, 0.0_wp, 1.0_wp, 17)
      call cm%print_status()

      ok = (trim(cm%get_name()) == nm) .and. (cm%get_levels() == 17)
      call report_test(name, ok, id, nfail)
   end subroutine test_082