11! SPDX-Identifier: MIT
22module test_insert_at
33 use stdlib_error, only: check
4- use stdlib_string_type, only: string_type, operator (// ), operator (==)
4+ use stdlib_string_type, only: string_type, operator (// ), operator (==), char
55 use stdlib_stringlist_type, only: stringlist_type, fidx, bidx, list_head, list_tail, operator (==)
66 use stdlib_strings, only: to_string
77 use stdlib_optval, only: optval
@@ -355,29 +355,29 @@ end subroutine test_constructor
355355 subroutine test_insert_at_same_list
356356 type (stringlist_type) :: work_list
357357 type (stringlist_type) :: temp_list
358- integer :: i, j
358+ integer :: i
359359 integer , parameter :: first = - 100
360360 integer , parameter :: last = 100
361- integer , parameter :: stride = 4
362361
363362 write (* ,* ) " test_insert_at_same_list: Starting work_list!"
364363
365364 call work_list% insert_at( list_head, work_list )
366365 call work_list% insert_at( list_tail, work_list )
367366
368- do j = - 10 , 10
369- call work_list% insert_at( fidx(j ), work_list )
370- call work_list% insert_at( bidx(j ), work_list )
367+ do i = - 10 , 10
368+ call work_list% insert_at( fidx(i ), work_list )
369+ call work_list% insert_at( bidx(i ), work_list )
371370
372371 end do
373372
374373 call compare_list( work_list, 0 , 0 , 13 )
374+ call check( work_list% len () == 0 , " test_insert_at_same_list: empty list insertion" )
375375
376- do j = first, last
377- call work_list% insert_at( list_tail, string_type( to_string(j ) ) )
376+ do i = first, last
377+ call work_list% insert_at( list_tail, string_type( to_string(i ) ) )
378378 end do
379-
380379 temp_list = work_list
380+
381381 call work_list% insert_at( list_head, work_list )
382382 call compare_list( work_list, first, last + 1 , 14 , to = last - first + 1 )
383383 call compare_list( work_list, first, last + 1 , 15 , from= last - first + 2 )
@@ -390,13 +390,15 @@ subroutine test_insert_at_same_list
390390 work_list = temp_list
391391 call compare_list( work_list, first, last + 1 , 18 )
392392
393- do j = 1 , last - first + 2
393+ write (* ,* ) " test_insert_at_same_list: Starting temp_list!"
394+
395+ do i = 1 , last - first + 2
394396 temp_list = work_list
395- call temp_list% insert_at( fidx(j ), temp_list )
397+ call temp_list% insert_at( fidx(i ), temp_list )
396398
397- call compare_list( temp_list, first, first + j - 1 , 19 , to = j - 1 )
398- call compare_list( temp_list, first, last + 1 , 20 , from= j , to = j + last - first)
399- call compare_list( temp_list, first + j - 1 , last + 1 , 21 , from= j + last - first + 1 )
399+ call compare_list( temp_list, first, first + i - 1 , 19 , to = i - 1 )
400+ call compare_list( temp_list, first, last + 1 , 20 , from= i , to = i + last - first )
401+ call compare_list( temp_list, first + i - 1 , last + 1 , 21 , from= i + last - first + 1 )
400402
401403 end do
402404
@@ -421,13 +423,13 @@ subroutine compare_list(list, first, last, call_number, from, to)
421423 do i = work_from, work_to
422424 call check( list% get( fidx(i) ) == to_string( first + ( ( i - work_from ) * j ) ), &
423425 & " compare_list: call_number " // to_string( call_number ) &
424- & // " fidx( " // to_string( i ) // " )" )
426+ & // " fidx( " // to_string( i ) // " )" )
425427
426428 k = length - ( work_to - ( i - work_from ) ) + 1
427429 call check( list% get( bidx(k) ) == &
428430 & to_string( last - ( ( i - work_from + 1 ) * j ) ), &
429431 & " compare_list: call_number " // to_string( call_number ) &
430- & // " bidx( " // to_string( k ) // " )" )
432+ & // " bidx( " // to_string( k ) // " )" )
431433 end do
432434
433435 end subroutine compare_list
0 commit comments