subroutine test_indmed
use M_orderpack__indmed, only : indmed
implicit none
real,allocatable :: xdont(:)
real(kind=dp),allocatable :: ddont(:)
integer,allocatable :: idont(:)
character(len=:),allocatable :: cdont(:)
integer :: ii
call unit_check_start('indmed', '-library orderpack') ! start tests
xdont=[80.0,70.0,20.0,10.0,1000.0]
call indmed(xdont,ii)
call unit_check('indmed', ii.eq.2.and.xdont(ii).eq.70.0, 'real median',ii,xdont(ii))
!
idont=[11, 22, 33, 44, 55, 66, 77, 88]
call indmed(idont,ii)
call unit_check('indmed', ii.eq.4.and.idont(ii).eq.44, 'integer median',ii,idont(ii))
!
ddont=[11.0d0,77.0d0,22.0d0,66.0d0,33.0d0,88.0d0]
call indmed(ddont,ii)
call unit_check('indmed', ii.eq.5.and.ddont(ii).eq.33.0d0, 'doubleprecision median',ii,ddont(ii))
!
cdont=[character(len=20) :: 'apple','bee','cherry','duck','elephant','finger','goose','h','insect','j']
call indmed(cdont,ii)
call unit_check('indmed', ii.eq.5.and.cdont(ii).eq.'elephant', 'character median',ii,cdont(ii))
!
call unit_check_done('indmed',msg='test completed')
end subroutine test_indmed