https://www.cdslab.org/paramonte/fortran/2
Current view: top level - test - test_pm_arrayUnique.F90 (source / functions) Hit Total Coverage
Test: ParaMonte 2.0.0 :: Serial Fortran - Code Coverage Report Lines: 110 110 100.0 %
Date: 2024-04-08 03:18:57 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       2             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       3             : !!!!                                                                                                                            !!!!
       4             : !!!!    ParaMonte: Parallel Monte Carlo and Machine Learning Library.                                                           !!!!
       5             : !!!!                                                                                                                            !!!!
       6             : !!!!    Copyright (C) 2012-present, The Computational Data Science Lab                                                          !!!!
       7             : !!!!                                                                                                                            !!!!
       8             : !!!!    This file is part of the ParaMonte library.                                                                             !!!!
       9             : !!!!                                                                                                                            !!!!
      10             : !!!!    LICENSE                                                                                                                 !!!!
      11             : !!!!                                                                                                                            !!!!
      12             : !!!!       https://github.com/cdslaborg/paramonte/blob/main/LICENSE.md                                                          !!!!
      13             : !!!!                                                                                                                            !!!!
      14             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      15             : !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      16             : 
      17             : !>  \brief
      18             : !>  This module contains tests of the module [pm_arrayUnique](@ref pm_arrayUnique).
      19             : !>
      20             : !>  \fintest
      21             : !>
      22             : !>  \author
      23             : !>  \AmirShahmoradi, September 1, 2017, 11:35 PM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin
      24             : 
      25             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      26             : 
      27             : module test_pm_arrayUnique
      28             : 
      29             :     use pm_arrayUnique
      30             :     use pm_err, only: err_type
      31             :     use pm_test, only: test_type, LK
      32             :     implicit none
      33             : 
      34             :     private
      35             :     public :: setTest
      36             :     type(test_type) :: test
      37             : 
      38             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      39             : 
      40             :     interface
      41             : 
      42             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      43             : 
      44             : #if     SK5_ENABLED
      45             :         module function test_isUnique_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
      46             : #endif
      47             : #if     SK4_ENABLED
      48             :         module function test_isUnique_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
      49             : #endif
      50             : #if     SK3_ENABLED
      51             :         module function test_isUnique_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
      52             : #endif
      53             : #if     SK2_ENABLED
      54             :         module function test_isUnique_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
      55             : #endif
      56             : #if     SK1_ENABLED
      57             :         module function test_isUnique_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
      58             : #endif
      59             : 
      60             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      61             : 
      62             : #if     SK5_ENABLED
      63             :         module function test_isUnique_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
      64             : #endif
      65             : #if     SK4_ENABLED
      66             :         module function test_isUnique_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
      67             : #endif
      68             : #if     SK3_ENABLED
      69             :         module function test_isUnique_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
      70             : #endif
      71             : #if     SK2_ENABLED
      72             :         module function test_isUnique_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
      73             : #endif
      74             : #if     SK1_ENABLED
      75             :         module function test_isUnique_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
      76             : #endif
      77             : 
      78             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      79             : 
      80             : #if     IK5_ENABLED
      81             :         module function test_isUnique_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
      82             : #endif
      83             : #if     IK4_ENABLED
      84             :         module function test_isUnique_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
      85             : #endif
      86             : #if     IK3_ENABLED
      87             :         module function test_isUnique_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
      88             : #endif
      89             : #if     IK2_ENABLED
      90             :         module function test_isUnique_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
      91             : #endif
      92             : #if     IK1_ENABLED
      93             :         module function test_isUnique_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
      94             : #endif
      95             : 
      96             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      97             : 
      98             : #if     LK5_ENABLED
      99             :         module function test_isUnique_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
     100             : #endif
     101             : #if     LK4_ENABLED
     102             :         module function test_isUnique_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
     103             : #endif
     104             : #if     LK3_ENABLED
     105             :         module function test_isUnique_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
     106             : #endif
     107             : #if     LK2_ENABLED
     108             :         module function test_isUnique_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
     109             : #endif
     110             : #if     LK1_ENABLED
     111             :         module function test_isUnique_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
     112             : #endif
     113             : 
     114             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     115             : 
     116             : #if     CK5_ENABLED
     117             :         module function test_isUnique_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
     118             : #endif
     119             : #if     CK4_ENABLED
     120             :         module function test_isUnique_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
     121             : #endif
     122             : #if     CK3_ENABLED
     123             :         module function test_isUnique_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
     124             : #endif
     125             : #if     CK2_ENABLED
     126             :         module function test_isUnique_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
     127             : #endif
     128             : #if     CK1_ENABLED
     129             :         module function test_isUnique_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
     130             : #endif
     131             : 
     132             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     133             : 
     134             : #if     RK5_ENABLED
     135             :         module function test_isUnique_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
     136             : #endif
     137             : #if     RK4_ENABLED
     138             :         module function test_isUnique_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
     139             : #endif
     140             : #if     RK3_ENABLED
     141             :         module function test_isUnique_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
     142             : #endif
     143             : #if     RK2_ENABLED
     144             :         module function test_isUnique_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
     145             : #endif
     146             : #if     RK1_ENABLED
     147             :         module function test_isUnique_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
     148             : #endif
     149             : 
     150             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     151             : 
     152             :     end interface
     153             : 
     154             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     155             : 
     156             :     interface
     157             : 
     158             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     159             : 
     160             : #if     SK5_ENABLED
     161             :         module function test_isUniqueAll_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
     162             : #endif
     163             : #if     SK4_ENABLED
     164             :         module function test_isUniqueAll_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
     165             : #endif
     166             : #if     SK3_ENABLED
     167             :         module function test_isUniqueAll_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
     168             : #endif
     169             : #if     SK2_ENABLED
     170             :         module function test_isUniqueAll_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
     171             : #endif
     172             : #if     SK1_ENABLED
     173             :         module function test_isUniqueAll_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
     174             : #endif
     175             : 
     176             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     177             : 
     178             : #if     SK5_ENABLED
     179             :         module function test_isUniqueAll_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
     180             : #endif
     181             : #if     SK4_ENABLED
     182             :         module function test_isUniqueAll_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
     183             : #endif
     184             : #if     SK3_ENABLED
     185             :         module function test_isUniqueAll_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
     186             : #endif
     187             : #if     SK2_ENABLED
     188             :         module function test_isUniqueAll_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
     189             : #endif
     190             : #if     SK1_ENABLED
     191             :         module function test_isUniqueAll_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
     192             : #endif
     193             : 
     194             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     195             : 
     196             : #if     IK5_ENABLED
     197             :         module function test_isUniqueAll_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
     198             : #endif
     199             : #if     IK4_ENABLED
     200             :         module function test_isUniqueAll_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
     201             : #endif
     202             : #if     IK3_ENABLED
     203             :         module function test_isUniqueAll_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
     204             : #endif
     205             : #if     IK2_ENABLED
     206             :         module function test_isUniqueAll_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
     207             : #endif
     208             : #if     IK1_ENABLED
     209             :         module function test_isUniqueAll_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
     210             : #endif
     211             : 
     212             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     213             : 
     214             : #if     LK5_ENABLED
     215             :         module function test_isUniqueAll_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
     216             : #endif
     217             : #if     LK4_ENABLED
     218             :         module function test_isUniqueAll_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
     219             : #endif
     220             : #if     LK3_ENABLED
     221             :         module function test_isUniqueAll_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
     222             : #endif
     223             : #if     LK2_ENABLED
     224             :         module function test_isUniqueAll_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
     225             : #endif
     226             : #if     LK1_ENABLED
     227             :         module function test_isUniqueAll_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
     228             : #endif
     229             : 
     230             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     231             : 
     232             : #if     CK5_ENABLED
     233             :         module function test_isUniqueAll_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
     234             : #endif
     235             : #if     CK4_ENABLED
     236             :         module function test_isUniqueAll_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
     237             : #endif
     238             : #if     CK3_ENABLED
     239             :         module function test_isUniqueAll_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
     240             : #endif
     241             : #if     CK2_ENABLED
     242             :         module function test_isUniqueAll_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
     243             : #endif
     244             : #if     CK1_ENABLED
     245             :         module function test_isUniqueAll_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
     246             : #endif
     247             : 
     248             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     249             : 
     250             : #if     RK5_ENABLED
     251             :         module function test_isUniqueAll_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
     252             : #endif
     253             : #if     RK4_ENABLED
     254             :         module function test_isUniqueAll_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
     255             : #endif
     256             : #if     RK3_ENABLED
     257             :         module function test_isUniqueAll_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
     258             : #endif
     259             : #if     RK2_ENABLED
     260             :         module function test_isUniqueAll_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
     261             : #endif
     262             : #if     RK1_ENABLED
     263             :         module function test_isUniqueAll_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
     264             : #endif
     265             : 
     266             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     267             : 
     268             :     end interface
     269             : 
     270             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     271             : 
     272             :     interface
     273             : 
     274             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     275             : 
     276             : #if     SK5_ENABLED
     277             :         module function test_isUniqueAny_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
     278             : #endif
     279             : #if     SK4_ENABLED
     280             :         module function test_isUniqueAny_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
     281             : #endif
     282             : #if     SK3_ENABLED
     283             :         module function test_isUniqueAny_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
     284             : #endif
     285             : #if     SK2_ENABLED
     286             :         module function test_isUniqueAny_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
     287             : #endif
     288             : #if     SK1_ENABLED
     289             :         module function test_isUniqueAny_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
     290             : #endif
     291             : 
     292             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     293             : 
     294             : #if     SK5_ENABLED
     295             :         module function test_isUniqueAny_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
     296             : #endif
     297             : #if     SK4_ENABLED
     298             :         module function test_isUniqueAny_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
     299             : #endif
     300             : #if     SK3_ENABLED
     301             :         module function test_isUniqueAny_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
     302             : #endif
     303             : #if     SK2_ENABLED
     304             :         module function test_isUniqueAny_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
     305             : #endif
     306             : #if     SK1_ENABLED
     307             :         module function test_isUniqueAny_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
     308             : #endif
     309             : 
     310             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     311             : 
     312             : #if     IK5_ENABLED
     313             :         module function test_isUniqueAny_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
     314             : #endif
     315             : #if     IK4_ENABLED
     316             :         module function test_isUniqueAny_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
     317             : #endif
     318             : #if     IK3_ENABLED
     319             :         module function test_isUniqueAny_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
     320             : #endif
     321             : #if     IK2_ENABLED
     322             :         module function test_isUniqueAny_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
     323             : #endif
     324             : #if     IK1_ENABLED
     325             :         module function test_isUniqueAny_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
     326             : #endif
     327             : 
     328             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     329             : 
     330             : #if     LK5_ENABLED
     331             :         module function test_isUniqueAny_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
     332             : #endif
     333             : #if     LK4_ENABLED
     334             :         module function test_isUniqueAny_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
     335             : #endif
     336             : #if     LK3_ENABLED
     337             :         module function test_isUniqueAny_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
     338             : #endif
     339             : #if     LK2_ENABLED
     340             :         module function test_isUniqueAny_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
     341             : #endif
     342             : #if     LK1_ENABLED
     343             :         module function test_isUniqueAny_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
     344             : #endif
     345             : 
     346             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     347             : 
     348             : #if     CK5_ENABLED
     349             :         module function test_isUniqueAny_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
     350             : #endif
     351             : #if     CK4_ENABLED
     352             :         module function test_isUniqueAny_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
     353             : #endif
     354             : #if     CK3_ENABLED
     355             :         module function test_isUniqueAny_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
     356             : #endif
     357             : #if     CK2_ENABLED
     358             :         module function test_isUniqueAny_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
     359             : #endif
     360             : #if     CK1_ENABLED
     361             :         module function test_isUniqueAny_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
     362             : #endif
     363             : 
     364             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     365             : 
     366             : #if     RK5_ENABLED
     367             :         module function test_isUniqueAny_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
     368             : #endif
     369             : #if     RK4_ENABLED
     370             :         module function test_isUniqueAny_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
     371             : #endif
     372             : #if     RK3_ENABLED
     373             :         module function test_isUniqueAny_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
     374             : #endif
     375             : #if     RK2_ENABLED
     376             :         module function test_isUniqueAny_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
     377             : #endif
     378             : #if     RK1_ENABLED
     379             :         module function test_isUniqueAny_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
     380             : #endif
     381             : 
     382             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     383             : 
     384             :     end interface
     385             : 
     386             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     387             : 
     388             :     interface
     389             : 
     390             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     391             : 
     392             : #if     SK5_ENABLED
     393             :         module function test_getUnique_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
     394             : #endif
     395             : #if     SK4_ENABLED
     396             :         module function test_getUnique_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
     397             : #endif
     398             : #if     SK3_ENABLED
     399             :         module function test_getUnique_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
     400             : #endif
     401             : #if     SK2_ENABLED
     402             :         module function test_getUnique_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
     403             : #endif
     404             : #if     SK1_ENABLED
     405             :         module function test_getUnique_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
     406             : #endif
     407             : 
     408             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     409             : 
     410             : #if     SK5_ENABLED
     411             :         module function test_getUnique_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
     412             : #endif
     413             : #if     SK4_ENABLED
     414             :         module function test_getUnique_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
     415             : #endif
     416             : #if     SK3_ENABLED
     417             :         module function test_getUnique_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
     418             : #endif
     419             : #if     SK2_ENABLED
     420             :         module function test_getUnique_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
     421             : #endif
     422             : #if     SK1_ENABLED
     423             :         module function test_getUnique_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
     424             : #endif
     425             : 
     426             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     427             : 
     428             : #if     IK5_ENABLED
     429             :         module function test_getUnique_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
     430             : #endif
     431             : #if     IK4_ENABLED
     432             :         module function test_getUnique_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
     433             : #endif
     434             : #if     IK3_ENABLED
     435             :         module function test_getUnique_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
     436             : #endif
     437             : #if     IK2_ENABLED
     438             :         module function test_getUnique_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
     439             : #endif
     440             : #if     IK1_ENABLED
     441             :         module function test_getUnique_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
     442             : #endif
     443             : 
     444             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     445             : 
     446             : #if     LK5_ENABLED
     447             :         module function test_getUnique_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
     448             : #endif
     449             : #if     LK4_ENABLED
     450             :         module function test_getUnique_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
     451             : #endif
     452             : #if     LK3_ENABLED
     453             :         module function test_getUnique_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
     454             : #endif
     455             : #if     LK2_ENABLED
     456             :         module function test_getUnique_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
     457             : #endif
     458             : #if     LK1_ENABLED
     459             :         module function test_getUnique_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
     460             : #endif
     461             : 
     462             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     463             : 
     464             : #if     CK5_ENABLED
     465             :         module function test_getUnique_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
     466             : #endif
     467             : #if     CK4_ENABLED
     468             :         module function test_getUnique_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
     469             : #endif
     470             : #if     CK3_ENABLED
     471             :         module function test_getUnique_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
     472             : #endif
     473             : #if     CK2_ENABLED
     474             :         module function test_getUnique_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
     475             : #endif
     476             : #if     CK1_ENABLED
     477             :         module function test_getUnique_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
     478             : #endif
     479             : 
     480             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     481             : 
     482             : #if     RK5_ENABLED
     483             :         module function test_getUnique_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
     484             : #endif
     485             : #if     RK4_ENABLED
     486             :         module function test_getUnique_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
     487             : #endif
     488             : #if     RK3_ENABLED
     489             :         module function test_getUnique_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
     490             : #endif
     491             : #if     RK2_ENABLED
     492             :         module function test_getUnique_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
     493             : #endif
     494             : #if     RK1_ENABLED
     495             :         module function test_getUnique_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
     496             : #endif
     497             : 
     498             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     499             : 
     500             :     end interface
     501             : 
     502             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     503             : 
     504             :     interface
     505             : 
     506             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     507             : 
     508             : #if     SK5_ENABLED
     509             :         module function test_setUnique_D0_SK5_1() result(assertion); logical(LK) :: assertion; end function
     510             : #endif
     511             : #if     SK4_ENABLED
     512             :         module function test_setUnique_D0_SK4_1() result(assertion); logical(LK) :: assertion; end function
     513             : #endif
     514             : #if     SK3_ENABLED
     515             :         module function test_setUnique_D0_SK3_1() result(assertion); logical(LK) :: assertion; end function
     516             : #endif
     517             : #if     SK2_ENABLED
     518             :         module function test_setUnique_D0_SK2_1() result(assertion); logical(LK) :: assertion; end function
     519             : #endif
     520             : #if     SK1_ENABLED
     521             :         module function test_setUnique_D0_SK1_1() result(assertion); logical(LK) :: assertion; end function
     522             : #endif
     523             : 
     524             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     525             : 
     526             : #if     SK5_ENABLED
     527             :         module function test_setUnique_D1_SK5_1() result(assertion); logical(LK) :: assertion; end function
     528             : #endif
     529             : #if     SK4_ENABLED
     530             :         module function test_setUnique_D1_SK4_1() result(assertion); logical(LK) :: assertion; end function
     531             : #endif
     532             : #if     SK3_ENABLED
     533             :         module function test_setUnique_D1_SK3_1() result(assertion); logical(LK) :: assertion; end function
     534             : #endif
     535             : #if     SK2_ENABLED
     536             :         module function test_setUnique_D1_SK2_1() result(assertion); logical(LK) :: assertion; end function
     537             : #endif
     538             : #if     SK1_ENABLED
     539             :         module function test_setUnique_D1_SK1_1() result(assertion); logical(LK) :: assertion; end function
     540             : #endif
     541             : 
     542             :     !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     543             : 
     544             : #if     IK5_ENABLED
     545             :         module function test_setUnique_D1_IK5_1() result(assertion); logical(LK) :: assertion; end function
     546             : #endif
     547             : #if     IK4_ENABLED
     548             :         module function test_setUnique_D1_IK4_1() result(assertion); logical(LK) :: assertion; end function
     549             : #endif
     550             : #if     IK3_ENABLED
     551             :         module function test_setUnique_D1_IK3_1() result(assertion); logical(LK) :: assertion; end function
     552             : #endif
     553             : #if     IK2_ENABLED
     554             :         module function test_setUnique_D1_IK2_1() result(assertion); logical(LK) :: assertion; end function
     555             : #endif
     556             : #if     IK1_ENABLED
     557             :         module function test_setUnique_D1_IK1_1() result(assertion); logical(LK) :: assertion; end function
     558             : #endif
     559             : 
     560             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     561             : 
     562             : #if     LK5_ENABLED
     563             :         module function test_setUnique_D1_LK5_1() result(assertion); logical(LK) :: assertion; end function
     564             : #endif
     565             : #if     LK4_ENABLED
     566             :         module function test_setUnique_D1_LK4_1() result(assertion); logical(LK) :: assertion; end function
     567             : #endif
     568             : #if     LK3_ENABLED
     569             :         module function test_setUnique_D1_LK3_1() result(assertion); logical(LK) :: assertion; end function
     570             : #endif
     571             : #if     LK2_ENABLED
     572             :         module function test_setUnique_D1_LK2_1() result(assertion); logical(LK) :: assertion; end function
     573             : #endif
     574             : #if     LK1_ENABLED
     575             :         module function test_setUnique_D1_LK1_1() result(assertion); logical(LK) :: assertion; end function
     576             : #endif
     577             : 
     578             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     579             : 
     580             : #if     CK5_ENABLED
     581             :         module function test_setUnique_D1_CK5_1() result(assertion); logical(LK) :: assertion; end function
     582             : #endif
     583             : #if     CK4_ENABLED
     584             :         module function test_setUnique_D1_CK4_1() result(assertion); logical(LK) :: assertion; end function
     585             : #endif
     586             : #if     CK3_ENABLED
     587             :         module function test_setUnique_D1_CK3_1() result(assertion); logical(LK) :: assertion; end function
     588             : #endif
     589             : #if     CK2_ENABLED
     590             :         module function test_setUnique_D1_CK2_1() result(assertion); logical(LK) :: assertion; end function
     591             : #endif
     592             : #if     CK1_ENABLED
     593             :         module function test_setUnique_D1_CK1_1() result(assertion); logical(LK) :: assertion; end function
     594             : #endif
     595             : 
     596             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     597             : 
     598             : #if     RK5_ENABLED
     599             :         module function test_setUnique_D1_RK5_1() result(assertion); logical(LK) :: assertion; end function
     600             : #endif
     601             : #if     RK4_ENABLED
     602             :         module function test_setUnique_D1_RK4_1() result(assertion); logical(LK) :: assertion; end function
     603             : #endif
     604             : #if     RK3_ENABLED
     605             :         module function test_setUnique_D1_RK3_1() result(assertion); logical(LK) :: assertion; end function
     606             : #endif
     607             : #if     RK2_ENABLED
     608             :         module function test_setUnique_D1_RK2_1() result(assertion); logical(LK) :: assertion; end function
     609             : #endif
     610             : #if     RK1_ENABLED
     611             :         module function test_setUnique_D1_RK1_1() result(assertion); logical(LK) :: assertion; end function
     612             : #endif
     613             : 
     614             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     615             : 
     616             :     end interface
     617             : 
     618             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     619             : 
     620             : contains
     621             : 
     622             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     623             : 
     624           1 :     subroutine setTest()
     625             : 
     626             :         implicit none
     627             : 
     628           1 :         test = test_type(MODULE_NAME)
     629             : 
     630           1 :         call test%run(test_getUnique_D1_1, SK_"test_getUnique_D1_1")
     631             : 
     632             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     633             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     634             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     635             : 
     636             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     637             : 
     638             : #if     SK5_ENABLED
     639             :         call test%run(test_isUnique_D0_SK5_1, SK_"test_isUnique_D0_SK5_1")
     640             : #endif
     641             : #if     SK4_ENABLED
     642             :         call test%run(test_isUnique_D0_SK4_1, SK_"test_isUnique_D0_SK4_1")
     643             : #endif
     644             : #if     SK3_ENABLED
     645             :         call test%run(test_isUnique_D0_SK3_1, SK_"test_isUnique_D0_SK3_1")
     646             : #endif
     647             : #if     SK2_ENABLED
     648             :         call test%run(test_isUnique_D0_SK2_1, SK_"test_isUnique_D0_SK2_1")
     649             : #endif
     650             : #if     SK1_ENABLED
     651           1 :         call test%run(test_isUnique_D0_SK1_1, SK_"test_isUnique_D0_SK1_1")
     652             : #endif
     653             : 
     654             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     655             : 
     656             : #if     SK5_ENABLED
     657             :         call test%run(test_isUnique_D1_SK5_1, SK_"test_isUnique_D1_SK5_1")
     658             : #endif
     659             : #if     SK4_ENABLED
     660             :         call test%run(test_isUnique_D1_SK4_1, SK_"test_isUnique_D1_SK4_1")
     661             : #endif
     662             : #if     SK3_ENABLED
     663             :         call test%run(test_isUnique_D1_SK3_1, SK_"test_isUnique_D1_SK3_1")
     664             : #endif
     665             : #if     SK2_ENABLED
     666             :         call test%run(test_isUnique_D1_SK2_1, SK_"test_isUnique_D1_SK2_1")
     667             : #endif
     668             : #if     SK1_ENABLED
     669           1 :         call test%run(test_isUnique_D1_SK1_1, SK_"test_isUnique_D1_SK1_1")
     670             : #endif
     671             : 
     672             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     673             : 
     674             : #if     IK5_ENABLED
     675           1 :         call test%run(test_isUnique_D1_IK5_1, SK_"test_isUnique_D1_IK5_1")
     676             : #endif
     677             : #if     IK4_ENABLED
     678           1 :         call test%run(test_isUnique_D1_IK4_1, SK_"test_isUnique_D1_IK4_1")
     679             : #endif
     680             : #if     IK3_ENABLED
     681           1 :         call test%run(test_isUnique_D1_IK3_1, SK_"test_isUnique_D1_IK3_1")
     682             : #endif
     683             : #if     IK2_ENABLED
     684           1 :         call test%run(test_isUnique_D1_IK2_1, SK_"test_isUnique_D1_IK2_1")
     685             : #endif
     686             : #if     IK1_ENABLED
     687           1 :         call test%run(test_isUnique_D1_IK1_1, SK_"test_isUnique_D1_IK1_1")
     688             : #endif
     689             : 
     690             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     691             : 
     692             : #if     LK5_ENABLED
     693           1 :         call test%run(test_isUnique_D1_LK5_1, SK_"test_isUnique_D1_LK5_1")
     694             : #endif
     695             : #if     LK4_ENABLED
     696           1 :         call test%run(test_isUnique_D1_LK4_1, SK_"test_isUnique_D1_LK4_1")
     697             : #endif
     698             : #if     LK3_ENABLED
     699           1 :         call test%run(test_isUnique_D1_LK3_1, SK_"test_isUnique_D1_LK3_1")
     700             : #endif
     701             : #if     LK2_ENABLED
     702           1 :         call test%run(test_isUnique_D1_LK2_1, SK_"test_isUnique_D1_LK2_1")
     703             : #endif
     704             : #if     LK1_ENABLED
     705           1 :         call test%run(test_isUnique_D1_LK1_1, SK_"test_isUnique_D1_LK1_1")
     706             : #endif
     707             : 
     708             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     709             : 
     710             : #if     CK5_ENABLED
     711             :         call test%run(test_isUnique_D1_CK5_1, SK_"test_isUnique_D1_CK5_1")
     712             : #endif
     713             : #if     CK4_ENABLED
     714           1 :         call test%run(test_isUnique_D1_CK4_1, SK_"test_isUnique_D1_CK4_1")
     715             : #endif
     716             : #if     CK3_ENABLED
     717           1 :         call test%run(test_isUnique_D1_CK3_1, SK_"test_isUnique_D1_CK3_1")
     718             : #endif
     719             : #if     CK2_ENABLED
     720           1 :         call test%run(test_isUnique_D1_CK2_1, SK_"test_isUnique_D1_CK2_1")
     721             : #endif
     722             : #if     CK1_ENABLED
     723           1 :         call test%run(test_isUnique_D1_CK1_1, SK_"test_isUnique_D1_CK1_1")
     724             : #endif
     725             : 
     726             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     727             : 
     728             : #if     RK5_ENABLED
     729             :         call test%run(test_isUnique_D1_RK5_1, SK_"test_isUnique_D1_RK5_1")
     730             : #endif
     731             : #if     RK4_ENABLED
     732           1 :         call test%run(test_isUnique_D1_RK4_1, SK_"test_isUnique_D1_RK4_1")
     733             : #endif
     734             : #if     RK3_ENABLED
     735           1 :         call test%run(test_isUnique_D1_RK3_1, SK_"test_isUnique_D1_RK3_1")
     736             : #endif
     737             : #if     RK2_ENABLED
     738           1 :         call test%run(test_isUnique_D1_RK2_1, SK_"test_isUnique_D1_RK2_1")
     739             : #endif
     740             : #if     RK1_ENABLED
     741           1 :         call test%run(test_isUnique_D1_RK1_1, SK_"test_isUnique_D1_RK1_1")
     742             : #endif
     743             : 
     744             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     745             : 
     746             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     747             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     748             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     749             : 
     750             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     751             : 
     752             : #if     SK5_ENABLED
     753             :         call test%run(test_isUniqueAll_D0_SK5_1, SK_"test_isUniqueAll_D0_SK5_1")
     754             : #endif
     755             : #if     SK4_ENABLED
     756             :         call test%run(test_isUniqueAll_D0_SK4_1, SK_"test_isUniqueAll_D0_SK4_1")
     757             : #endif
     758             : #if     SK3_ENABLED
     759             :         call test%run(test_isUniqueAll_D0_SK3_1, SK_"test_isUniqueAll_D0_SK3_1")
     760             : #endif
     761             : #if     SK2_ENABLED
     762             :         call test%run(test_isUniqueAll_D0_SK2_1, SK_"test_isUniqueAll_D0_SK2_1")
     763             : #endif
     764             : #if     SK1_ENABLED
     765           1 :         call test%run(test_isUniqueAll_D0_SK1_1, SK_"test_isUniqueAll_D0_SK1_1")
     766             : #endif
     767             : 
     768             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     769             : 
     770             : #if     SK5_ENABLED
     771             :         call test%run(test_isUniqueAll_D1_SK5_1, SK_"test_isUniqueAll_D1_SK5_1")
     772             : #endif
     773             : #if     SK4_ENABLED
     774             :         call test%run(test_isUniqueAll_D1_SK4_1, SK_"test_isUniqueAll_D1_SK4_1")
     775             : #endif
     776             : #if     SK3_ENABLED
     777             :         call test%run(test_isUniqueAll_D1_SK3_1, SK_"test_isUniqueAll_D1_SK3_1")
     778             : #endif
     779             : #if     SK2_ENABLED
     780             :         call test%run(test_isUniqueAll_D1_SK2_1, SK_"test_isUniqueAll_D1_SK2_1")
     781             : #endif
     782             : #if     SK1_ENABLED
     783           1 :         call test%run(test_isUniqueAll_D1_SK1_1, SK_"test_isUniqueAll_D1_SK1_1")
     784             : #endif
     785             : 
     786             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     787             : 
     788             : #if     IK5_ENABLED
     789           1 :         call test%run(test_isUniqueAll_D1_IK5_1, SK_"test_isUniqueAll_D1_IK5_1")
     790             : #endif
     791             : #if     IK4_ENABLED
     792           1 :         call test%run(test_isUniqueAll_D1_IK4_1, SK_"test_isUniqueAll_D1_IK4_1")
     793             : #endif
     794             : #if     IK3_ENABLED
     795           1 :         call test%run(test_isUniqueAll_D1_IK3_1, SK_"test_isUniqueAll_D1_IK3_1")
     796             : #endif
     797             : #if     IK2_ENABLED
     798           1 :         call test%run(test_isUniqueAll_D1_IK2_1, SK_"test_isUniqueAll_D1_IK2_1")
     799             : #endif
     800             : #if     IK1_ENABLED
     801           1 :         call test%run(test_isUniqueAll_D1_IK1_1, SK_"test_isUniqueAll_D1_IK1_1")
     802             : #endif
     803             : 
     804             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     805             : 
     806             : #if     LK5_ENABLED
     807           1 :         call test%run(test_isUniqueAll_D1_LK5_1, SK_"test_isUniqueAll_D1_LK5_1")
     808             : #endif
     809             : #if     LK4_ENABLED
     810           1 :         call test%run(test_isUniqueAll_D1_LK4_1, SK_"test_isUniqueAll_D1_LK4_1")
     811             : #endif
     812             : #if     LK3_ENABLED
     813           1 :         call test%run(test_isUniqueAll_D1_LK3_1, SK_"test_isUniqueAll_D1_LK3_1")
     814             : #endif
     815             : #if     LK2_ENABLED
     816           1 :         call test%run(test_isUniqueAll_D1_LK2_1, SK_"test_isUniqueAll_D1_LK2_1")
     817             : #endif
     818             : #if     LK1_ENABLED
     819           1 :         call test%run(test_isUniqueAll_D1_LK1_1, SK_"test_isUniqueAll_D1_LK1_1")
     820             : #endif
     821             : 
     822             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     823             : 
     824             : #if     CK5_ENABLED
     825             :         call test%run(test_isUniqueAll_D1_CK5_1, SK_"test_isUniqueAll_D1_CK5_1")
     826             : #endif
     827             : #if     CK4_ENABLED
     828           1 :         call test%run(test_isUniqueAll_D1_CK4_1, SK_"test_isUniqueAll_D1_CK4_1")
     829             : #endif
     830             : #if     CK3_ENABLED
     831           1 :         call test%run(test_isUniqueAll_D1_CK3_1, SK_"test_isUniqueAll_D1_CK3_1")
     832             : #endif
     833             : #if     CK2_ENABLED
     834           1 :         call test%run(test_isUniqueAll_D1_CK2_1, SK_"test_isUniqueAll_D1_CK2_1")
     835             : #endif
     836             : #if     CK1_ENABLED
     837           1 :         call test%run(test_isUniqueAll_D1_CK1_1, SK_"test_isUniqueAll_D1_CK1_1")
     838             : #endif
     839             : 
     840             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     841             : 
     842             : #if     RK5_ENABLED
     843             :         call test%run(test_isUniqueAll_D1_RK5_1, SK_"test_isUniqueAll_D1_RK5_1")
     844             : #endif
     845             : #if     RK4_ENABLED
     846           1 :         call test%run(test_isUniqueAll_D1_RK4_1, SK_"test_isUniqueAll_D1_RK4_1")
     847             : #endif
     848             : #if     RK3_ENABLED
     849           1 :         call test%run(test_isUniqueAll_D1_RK3_1, SK_"test_isUniqueAll_D1_RK3_1")
     850             : #endif
     851             : #if     RK2_ENABLED
     852           1 :         call test%run(test_isUniqueAll_D1_RK2_1, SK_"test_isUniqueAll_D1_RK2_1")
     853             : #endif
     854             : #if     RK1_ENABLED
     855           1 :         call test%run(test_isUniqueAll_D1_RK1_1, SK_"test_isUniqueAll_D1_RK1_1")
     856             : #endif
     857             : 
     858             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     859             : 
     860             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     861             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     862             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     863             : 
     864             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     865             : 
     866             : #if     SK5_ENABLED
     867             :         call test%run(test_isUniqueAny_D0_SK5_1, SK_"test_isUniqueAny_D0_SK5_1")
     868             : #endif
     869             : #if     SK4_ENABLED
     870             :         call test%run(test_isUniqueAny_D0_SK4_1, SK_"test_isUniqueAny_D0_SK4_1")
     871             : #endif
     872             : #if     SK3_ENABLED
     873             :         call test%run(test_isUniqueAny_D0_SK3_1, SK_"test_isUniqueAny_D0_SK3_1")
     874             : #endif
     875             : #if     SK2_ENABLED
     876             :         call test%run(test_isUniqueAny_D0_SK2_1, SK_"test_isUniqueAny_D0_SK2_1")
     877             : #endif
     878             : #if     SK1_ENABLED
     879           1 :         call test%run(test_isUniqueAny_D0_SK1_1, SK_"test_isUniqueAny_D0_SK1_1")
     880             : #endif
     881             : 
     882             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     883             : 
     884             : #if     SK5_ENABLED
     885             :         call test%run(test_isUniqueAny_D1_SK5_1, SK_"test_isUniqueAny_D1_SK5_1")
     886             : #endif
     887             : #if     SK4_ENABLED
     888             :         call test%run(test_isUniqueAny_D1_SK4_1, SK_"test_isUniqueAny_D1_SK4_1")
     889             : #endif
     890             : #if     SK3_ENABLED
     891             :         call test%run(test_isUniqueAny_D1_SK3_1, SK_"test_isUniqueAny_D1_SK3_1")
     892             : #endif
     893             : #if     SK2_ENABLED
     894             :         call test%run(test_isUniqueAny_D1_SK2_1, SK_"test_isUniqueAny_D1_SK2_1")
     895             : #endif
     896             : #if     SK1_ENABLED
     897           1 :         call test%run(test_isUniqueAny_D1_SK1_1, SK_"test_isUniqueAny_D1_SK1_1")
     898             : #endif
     899             : 
     900             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     901             : 
     902             : #if     IK5_ENABLED
     903           1 :         call test%run(test_isUniqueAny_D1_IK5_1, SK_"test_isUniqueAny_D1_IK5_1")
     904             : #endif
     905             : #if     IK4_ENABLED
     906           1 :         call test%run(test_isUniqueAny_D1_IK4_1, SK_"test_isUniqueAny_D1_IK4_1")
     907             : #endif
     908             : #if     IK3_ENABLED
     909           1 :         call test%run(test_isUniqueAny_D1_IK3_1, SK_"test_isUniqueAny_D1_IK3_1")
     910             : #endif
     911             : #if     IK2_ENABLED
     912           1 :         call test%run(test_isUniqueAny_D1_IK2_1, SK_"test_isUniqueAny_D1_IK2_1")
     913             : #endif
     914             : #if     IK1_ENABLED
     915           1 :         call test%run(test_isUniqueAny_D1_IK1_1, SK_"test_isUniqueAny_D1_IK1_1")
     916             : #endif
     917             : 
     918             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     919             : 
     920             : #if     LK5_ENABLED
     921           1 :         call test%run(test_isUniqueAny_D1_LK5_1, SK_"test_isUniqueAny_D1_LK5_1")
     922             : #endif
     923             : #if     LK4_ENABLED
     924           1 :         call test%run(test_isUniqueAny_D1_LK4_1, SK_"test_isUniqueAny_D1_LK4_1")
     925             : #endif
     926             : #if     LK3_ENABLED
     927           1 :         call test%run(test_isUniqueAny_D1_LK3_1, SK_"test_isUniqueAny_D1_LK3_1")
     928             : #endif
     929             : #if     LK2_ENABLED
     930           1 :         call test%run(test_isUniqueAny_D1_LK2_1, SK_"test_isUniqueAny_D1_LK2_1")
     931             : #endif
     932             : #if     LK1_ENABLED
     933           1 :         call test%run(test_isUniqueAny_D1_LK1_1, SK_"test_isUniqueAny_D1_LK1_1")
     934             : #endif
     935             : 
     936             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     937             : 
     938             : #if     CK5_ENABLED
     939             :         call test%run(test_isUniqueAny_D1_CK5_1, SK_"test_isUniqueAny_D1_CK5_1")
     940             : #endif
     941             : #if     CK4_ENABLED
     942           1 :         call test%run(test_isUniqueAny_D1_CK4_1, SK_"test_isUniqueAny_D1_CK4_1")
     943             : #endif
     944             : #if     CK3_ENABLED
     945           1 :         call test%run(test_isUniqueAny_D1_CK3_1, SK_"test_isUniqueAny_D1_CK3_1")
     946             : #endif
     947             : #if     CK2_ENABLED
     948           1 :         call test%run(test_isUniqueAny_D1_CK2_1, SK_"test_isUniqueAny_D1_CK2_1")
     949             : #endif
     950             : #if     CK1_ENABLED
     951           1 :         call test%run(test_isUniqueAny_D1_CK1_1, SK_"test_isUniqueAny_D1_CK1_1")
     952             : #endif
     953             : 
     954             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     955             : 
     956             : #if     RK5_ENABLED
     957             :         call test%run(test_isUniqueAny_D1_RK5_1, SK_"test_isUniqueAny_D1_RK5_1")
     958             : #endif
     959             : #if     RK4_ENABLED
     960           1 :         call test%run(test_isUniqueAny_D1_RK4_1, SK_"test_isUniqueAny_D1_RK4_1")
     961             : #endif
     962             : #if     RK3_ENABLED
     963           1 :         call test%run(test_isUniqueAny_D1_RK3_1, SK_"test_isUniqueAny_D1_RK3_1")
     964             : #endif
     965             : #if     RK2_ENABLED
     966           1 :         call test%run(test_isUniqueAny_D1_RK2_1, SK_"test_isUniqueAny_D1_RK2_1")
     967             : #endif
     968             : #if     RK1_ENABLED
     969           1 :         call test%run(test_isUniqueAny_D1_RK1_1, SK_"test_isUniqueAny_D1_RK1_1")
     970             : #endif
     971             : 
     972             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     973             : 
     974             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     975             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     976             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     977             : 
     978             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     979             : 
     980             : #if     SK5_ENABLED
     981             :         call test%run(test_getUnique_D0_SK5_1, SK_"test_getUnique_D0_SK5_1")
     982             : #endif
     983             : #if     SK4_ENABLED
     984             :         call test%run(test_getUnique_D0_SK4_1, SK_"test_getUnique_D0_SK4_1")
     985             : #endif
     986             : #if     SK3_ENABLED
     987             :         call test%run(test_getUnique_D0_SK3_1, SK_"test_getUnique_D0_SK3_1")
     988             : #endif
     989             : #if     SK2_ENABLED
     990             :         call test%run(test_getUnique_D0_SK2_1, SK_"test_getUnique_D0_SK2_1")
     991             : #endif
     992             : #if     SK1_ENABLED
     993           1 :         call test%run(test_getUnique_D0_SK1_1, SK_"test_getUnique_D0_SK1_1")
     994             : #endif
     995             : 
     996             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     997             : 
     998             : #if     SK5_ENABLED
     999             :         call test%run(test_getUnique_D1_SK5_1, SK_"test_getUnique_D1_SK5_1")
    1000             : #endif
    1001             : #if     SK4_ENABLED
    1002             :         call test%run(test_getUnique_D1_SK4_1, SK_"test_getUnique_D1_SK4_1")
    1003             : #endif
    1004             : #if     SK3_ENABLED
    1005             :         call test%run(test_getUnique_D1_SK3_1, SK_"test_getUnique_D1_SK3_1")
    1006             : #endif
    1007             : #if     SK2_ENABLED
    1008             :         call test%run(test_getUnique_D1_SK2_1, SK_"test_getUnique_D1_SK2_1")
    1009             : #endif
    1010             : #if     SK1_ENABLED
    1011           1 :         call test%run(test_getUnique_D1_SK1_1, SK_"test_getUnique_D1_SK1_1")
    1012             : #endif
    1013             : 
    1014             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1015             : 
    1016             : #if     IK5_ENABLED
    1017           1 :         call test%run(test_getUnique_D1_IK5_1, SK_"test_getUnique_D1_IK5_1")
    1018             : #endif
    1019             : #if     IK4_ENABLED
    1020           1 :         call test%run(test_getUnique_D1_IK4_1, SK_"test_getUnique_D1_IK4_1")
    1021             : #endif
    1022             : #if     IK3_ENABLED
    1023           1 :         call test%run(test_getUnique_D1_IK3_1, SK_"test_getUnique_D1_IK3_1")
    1024             : #endif
    1025             : #if     IK2_ENABLED
    1026           1 :         call test%run(test_getUnique_D1_IK2_1, SK_"test_getUnique_D1_IK2_1")
    1027             : #endif
    1028             : #if     IK1_ENABLED
    1029           1 :         call test%run(test_getUnique_D1_IK1_1, SK_"test_getUnique_D1_IK1_1")
    1030             : #endif
    1031             : 
    1032             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1033             : 
    1034             : #if     LK5_ENABLED
    1035           1 :         call test%run(test_getUnique_D1_LK5_1, SK_"test_getUnique_D1_LK5_1")
    1036             : #endif
    1037             : #if     LK4_ENABLED
    1038           1 :         call test%run(test_getUnique_D1_LK4_1, SK_"test_getUnique_D1_LK4_1")
    1039             : #endif
    1040             : #if     LK3_ENABLED
    1041           1 :         call test%run(test_getUnique_D1_LK3_1, SK_"test_getUnique_D1_LK3_1")
    1042             : #endif
    1043             : #if     LK2_ENABLED
    1044           1 :         call test%run(test_getUnique_D1_LK2_1, SK_"test_getUnique_D1_LK2_1")
    1045             : #endif
    1046             : #if     LK1_ENABLED
    1047           1 :         call test%run(test_getUnique_D1_LK1_1, SK_"test_getUnique_D1_LK1_1")
    1048             : #endif
    1049             : 
    1050             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1051             : 
    1052             : #if     CK5_ENABLED
    1053             :         call test%run(test_getUnique_D1_CK5_1, SK_"test_getUnique_D1_CK5_1")
    1054             : #endif
    1055             : #if     CK4_ENABLED
    1056           1 :         call test%run(test_getUnique_D1_CK4_1, SK_"test_getUnique_D1_CK4_1")
    1057             : #endif
    1058             : #if     CK3_ENABLED
    1059           1 :         call test%run(test_getUnique_D1_CK3_1, SK_"test_getUnique_D1_CK3_1")
    1060             : #endif
    1061             : #if     CK2_ENABLED
    1062           1 :         call test%run(test_getUnique_D1_CK2_1, SK_"test_getUnique_D1_CK2_1")
    1063             : #endif
    1064             : #if     CK1_ENABLED
    1065           1 :         call test%run(test_getUnique_D1_CK1_1, SK_"test_getUnique_D1_CK1_1")
    1066             : #endif
    1067             : 
    1068             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1069             : 
    1070             : #if     RK5_ENABLED
    1071             :         call test%run(test_getUnique_D1_RK5_1, SK_"test_getUnique_D1_RK5_1")
    1072             : #endif
    1073             : #if     RK4_ENABLED
    1074           1 :         call test%run(test_getUnique_D1_RK4_1, SK_"test_getUnique_D1_RK4_1")
    1075             : #endif
    1076             : #if     RK3_ENABLED
    1077           1 :         call test%run(test_getUnique_D1_RK3_1, SK_"test_getUnique_D1_RK3_1")
    1078             : #endif
    1079             : #if     RK2_ENABLED
    1080           1 :         call test%run(test_getUnique_D1_RK2_1, SK_"test_getUnique_D1_RK2_1")
    1081             : #endif
    1082             : #if     RK1_ENABLED
    1083           1 :         call test%run(test_getUnique_D1_RK1_1, SK_"test_getUnique_D1_RK1_1")
    1084             : #endif
    1085             : 
    1086             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1087             : 
    1088             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1089             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1090             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1091             : 
    1092             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1093             : 
    1094             : #if     SK5_ENABLED
    1095             :         call test%run(test_setUnique_D0_SK5_1, SK_"test_setUnique_D0_SK5_1")
    1096             : #endif
    1097             : #if     SK4_ENABLED
    1098             :         call test%run(test_setUnique_D0_SK4_1, SK_"test_setUnique_D0_SK4_1")
    1099             : #endif
    1100             : #if     SK3_ENABLED
    1101             :         call test%run(test_setUnique_D0_SK3_1, SK_"test_setUnique_D0_SK3_1")
    1102             : #endif
    1103             : #if     SK2_ENABLED
    1104             :         call test%run(test_setUnique_D0_SK2_1, SK_"test_setUnique_D0_SK2_1")
    1105             : #endif
    1106             : #if     SK1_ENABLED
    1107           1 :         call test%run(test_setUnique_D0_SK1_1, SK_"test_setUnique_D0_SK1_1")
    1108             : #endif
    1109             : 
    1110             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1111             : 
    1112             : #if     SK5_ENABLED
    1113             :         call test%run(test_setUnique_D1_SK5_1, SK_"test_setUnique_D1_SK5_1")
    1114             : #endif
    1115             : #if     SK4_ENABLED
    1116             :         call test%run(test_setUnique_D1_SK4_1, SK_"test_setUnique_D1_SK4_1")
    1117             : #endif
    1118             : #if     SK3_ENABLED
    1119             :         call test%run(test_setUnique_D1_SK3_1, SK_"test_setUnique_D1_SK3_1")
    1120             : #endif
    1121             : #if     SK2_ENABLED
    1122             :         call test%run(test_setUnique_D1_SK2_1, SK_"test_setUnique_D1_SK2_1")
    1123             : #endif
    1124             : #if     SK1_ENABLED
    1125           1 :         call test%run(test_setUnique_D1_SK1_1, SK_"test_setUnique_D1_SK1_1")
    1126             : #endif
    1127             : 
    1128             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1129             : 
    1130             : #if     IK5_ENABLED
    1131           1 :         call test%run(test_setUnique_D1_IK5_1, SK_"test_setUnique_D1_IK5_1")
    1132             : #endif
    1133             : #if     IK4_ENABLED
    1134           1 :         call test%run(test_setUnique_D1_IK4_1, SK_"test_setUnique_D1_IK4_1")
    1135             : #endif
    1136             : #if     IK3_ENABLED
    1137           1 :         call test%run(test_setUnique_D1_IK3_1, SK_"test_setUnique_D1_IK3_1")
    1138             : #endif
    1139             : #if     IK2_ENABLED
    1140           1 :         call test%run(test_setUnique_D1_IK2_1, SK_"test_setUnique_D1_IK2_1")
    1141             : #endif
    1142             : #if     IK1_ENABLED
    1143           1 :         call test%run(test_setUnique_D1_IK1_1, SK_"test_setUnique_D1_IK1_1")
    1144             : #endif
    1145             : 
    1146             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1147             : 
    1148             : #if     LK5_ENABLED
    1149           1 :         call test%run(test_setUnique_D1_LK5_1, SK_"test_setUnique_D1_LK5_1")
    1150             : #endif
    1151             : #if     LK4_ENABLED
    1152           1 :         call test%run(test_setUnique_D1_LK4_1, SK_"test_setUnique_D1_LK4_1")
    1153             : #endif
    1154             : #if     LK3_ENABLED
    1155           1 :         call test%run(test_setUnique_D1_LK3_1, SK_"test_setUnique_D1_LK3_1")
    1156             : #endif
    1157             : #if     LK2_ENABLED
    1158           1 :         call test%run(test_setUnique_D1_LK2_1, SK_"test_setUnique_D1_LK2_1")
    1159             : #endif
    1160             : #if     LK1_ENABLED
    1161           1 :         call test%run(test_setUnique_D1_LK1_1, SK_"test_setUnique_D1_LK1_1")
    1162             : #endif
    1163             : 
    1164             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1165             : 
    1166             : #if     CK5_ENABLED
    1167             :         call test%run(test_setUnique_D1_CK5_1, SK_"test_setUnique_D1_CK5_1")
    1168             : #endif
    1169             : #if     CK4_ENABLED
    1170           1 :         call test%run(test_setUnique_D1_CK4_1, SK_"test_setUnique_D1_CK4_1")
    1171             : #endif
    1172             : #if     CK3_ENABLED
    1173           1 :         call test%run(test_setUnique_D1_CK3_1, SK_"test_setUnique_D1_CK3_1")
    1174             : #endif
    1175             : #if     CK2_ENABLED
    1176           1 :         call test%run(test_setUnique_D1_CK2_1, SK_"test_setUnique_D1_CK2_1")
    1177             : #endif
    1178             : #if     CK1_ENABLED
    1179           1 :         call test%run(test_setUnique_D1_CK1_1, SK_"test_setUnique_D1_CK1_1")
    1180             : #endif
    1181             : 
    1182             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1183             : 
    1184             : #if     RK5_ENABLED
    1185             :         call test%run(test_setUnique_D1_RK5_1, SK_"test_setUnique_D1_RK5_1")
    1186             : #endif
    1187             : #if     RK4_ENABLED
    1188           1 :         call test%run(test_setUnique_D1_RK4_1, SK_"test_setUnique_D1_RK4_1")
    1189             : #endif
    1190             : #if     RK3_ENABLED
    1191           1 :         call test%run(test_setUnique_D1_RK3_1, SK_"test_setUnique_D1_RK3_1")
    1192             : #endif
    1193             : #if     RK2_ENABLED
    1194           1 :         call test%run(test_setUnique_D1_RK2_1, SK_"test_setUnique_D1_RK2_1")
    1195             : #endif
    1196             : #if     RK1_ENABLED
    1197           1 :         call test%run(test_setUnique_D1_RK1_1, SK_"test_setUnique_D1_RK1_1")
    1198             : #endif
    1199             : 
    1200             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1201             : 
    1202             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1203             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1204             :         !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1205             : 
    1206           1 :         call test%summarize()
    1207             : 
    1208           1 :     end subroutine setTest
    1209             : 
    1210             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1211             : 
    1212           1 :     function test_getUnique_D1_1() result(assertion)
    1213             : 
    1214             :         use pm_kind, only: RK, IK
    1215             :         use pm_container, only: IV => cvi_pdt
    1216             : 
    1217             :         implicit none
    1218             :         logical(LK)                 :: assertion
    1219             :         integer(IK) , parameter     :: VECTOR(*) = int([1,2,1,3,5,5,2],IK)
    1220             :         integer(IK) , parameter     :: UNIQUE_VALUE(*) = int([1,2,3,5],IK)
    1221             :         integer(IK) , allocatable   :: Unique(:)
    1222             : 
    1223           6 :         Unique = getUnique(VECTOR)
    1224           5 :         assertion = all(Unique == UNIQUE_VALUE)
    1225             : 
    1226           1 :         if (test%traceable .and. .not. assertion) then
    1227             :         ! LCOV_EXCL_START
    1228             :             write(test%disp%unit,"(*(g0,:,', '))")
    1229             :             write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
    1230             :             write(test%disp%unit,"(*(g0,:,', '))")
    1231             :             write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE   ", UNIQUE_VALUE
    1232             :             write(test%disp%unit,"(*(g0,:,', '))") "Unique         ", Unique
    1233             :             write(test%disp%unit,"(*(g0,:,', '))")
    1234             :         end if
    1235             :         ! LCOV_EXCL_STOP
    1236             : 
    1237           1 :     end function test_getUnique_D1_1
    1238             : 
    1239             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1240             : 
    1241             :     !function test_findUnique_1() result(assertion)
    1242             :     !
    1243             :     !    use pm_kind, only: RK, IK
    1244             :     !    use pm_container, only: IV => cvi_pdt
    1245             :     !
    1246             :     !    implicit none
    1247             :     !    logical(LK)                 :: assertion
    1248             :     !    logical(LK)                 :: assertionCurrent
    1249             :     !    integer(IK) , parameter     :: VECTOR(*) = [1,2,1,3,5,5,2]
    1250             :     !    integer(IK) , parameter     :: LEN_VECTOR = size(VECTOR)
    1251             :     !    integer(IK) , parameter     :: UNIQUE_VALUE(*) = [1,2,3,5]
    1252             :     !    integer(IK) , parameter     :: UNIQUE_COUNT(*) = [2,2,1,2]
    1253             :     !    integer(IK) , allocatable   :: ZeroLenVector(:)
    1254             :     !    integer(IK) , allocatable   :: UniqueValue(:)
    1255             :     !    integer(IK) , allocatable   :: UniqueCount(:)
    1256             :     !    type(IV)    , allocatable   :: UniqueIndex(:)
    1257             :     !    type(IV)    , allocatable   :: UNIQUE_INDEX(:)
    1258             :     !    integer(IK)                 :: lenUnique, i
    1259             :     !    type(err_type)              :: Err
    1260             :     !
    1261             :     !    call findUnique ( Vector = VECTOR &
    1262             :     !                    , lenUnique = lenUnique &
    1263             :     !                    , UniqueValue = UniqueValue &
    1264             :     !                    , UniqueCount = UniqueCount &
    1265             :     !                    )
    1266             :     !
    1267             :     !    assertion = all(UniqueValue(1:lenUnique)==UNIQUE_VALUE) .and. all(UniqueCount(1:lenUnique)==UNIQUE_COUNT)
    1268             :     !
    1269             :     !    if (test%traceable .and. .not. assertion) then
    1270             :     !    ! LCOV_EXCL_START
    1271             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1272             :     !        write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
    1273             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1274             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE", UNIQUE_VALUE
    1275             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue(1:lenUnique)
    1276             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1277             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
    1278             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount(1:lenUnique)
    1279             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1280             :     !        write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
    1281             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1282             :     !    end if
    1283             :     !    ! LCOV_EXCL_STOP
    1284             :     !
    1285             :     !    call test%assert(assertion)
    1286             :     !
    1287             :     !    ! test UniqueIndex
    1288             :     !
    1289             :     !    allocate(UNIQUE_INDEX(size(UNIQUE_COUNT)))
    1290             :     !    UNIQUE_INDEX(1)%val = [5,6]
    1291             :     !    UNIQUE_INDEX(2)%val = [2,7]
    1292             :     !    UNIQUE_INDEX(3)%val = [1,3]
    1293             :     !    UNIQUE_INDEX(4)%val = [4]
    1294             :     !
    1295             :     !    call findUnique ( Vector = VECTOR &
    1296             :     !                    , lenUnique = lenUnique &
    1297             :     !                    , UniqueValue = UniqueValue &
    1298             :     !                    , UniqueCount = UniqueCount &
    1299             :     !                    , UniqueIndex = UniqueIndex &
    1300             :     !                    , sorting = -1_IK &
    1301             :     !                    )
    1302             :     !
    1303             :     !    assertion = assertion .and. .not. err%occurred
    1304             :     !    call test%assert(assertion)
    1305             :     !
    1306             :     !    do i = 1, lenUnique
    1307             :     !
    1308             :     !        assertionCurrent = all(UniqueIndex(i)%val == UNIQUE_INDEX(i)%val)
    1309             :     !        assertion = assertion .and. assertionCurrent
    1310             :     !
    1311             :     !        if (test%traceable .and. .not. assertionCurrent) then
    1312             :     !        ! LCOV_EXCL_START
    1313             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1314             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
    1315             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount
    1316             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1317             :     !        end if
    1318             :     !        ! LCOV_EXCL_STOP
    1319             :     !
    1320             :     !        if (i>1_IK) assertionCurrent = assertionCurrent .and. UniqueCount(i) <= UniqueCount(i-1)
    1321             :     !        assertion = assertion .and. assertionCurrent
    1322             :     !
    1323             :     !        if (test%traceable .and. .not. assertionCurrent) then
    1324             :     !        ! LCOV_EXCL_START
    1325             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1326             :     !            write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
    1327             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1328             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE", UNIQUE_VALUE
    1329             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue
    1330             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1331             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
    1332             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount
    1333             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1334             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_INDEX(i)%val  ", UNIQUE_INDEX(i)%val
    1335             :     !            write(test%disp%unit,"(*(g0,:,', '))") "UniqueIndex(i)%val   ", UniqueIndex(i)%val
    1336             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1337             :     !            write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
    1338             :     !            write(test%disp%unit,"(*(g0,:,', '))")
    1339             :     !        end if
    1340             :     !        ! LCOV_EXCL_STOP
    1341             :     !
    1342             :     !        if (.not. assertion) exit ! LCOV_EXCL_LINE
    1343             :     !
    1344             :     !    end do
    1345             :     !    call test%assert(assertion)
    1346             :     !
    1347             :     !    ! test with empty input vector
    1348             :     !
    1349             :     !    allocate(ZeroLenVector(0))
    1350             :     !    call findUnique ( Vector = ZeroLenVector & ! LCOV_EXCL_LINE
    1351             :     !                    , UniqueValue = UniqueValue & ! LCOV_EXCL_LINE
    1352             :     !                    , UniqueCount = UniqueCount & ! LCOV_EXCL_LINE
    1353             :     !                    , lenUnique = lenUnique & ! LCOV_EXCL_LINE
    1354             :     !                    )
    1355             :     !
    1356             :     !    if (test%traceable .and. .not. assertion) then
    1357             :     !    ! LCOV_EXCL_START
    1358             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1359             :     !        write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", VECTOR
    1360             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1361             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_VALUE", UNIQUE_VALUE
    1362             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue(1:lenUnique)
    1363             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1364             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UNIQUE_COUNT", UNIQUE_COUNT
    1365             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount(1:lenUnique)
    1366             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1367             :     !        write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
    1368             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1369             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1370             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1371             :     !        write(test%disp%unit,"(*(g0,:,', '))") "VECTOR", ZeroLenVector
    1372             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1373             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UniqueValue ", UniqueValue(1:lenUnique)
    1374             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1375             :     !        write(test%disp%unit,"(*(g0,:,', '))") "UniqueCount ", UniqueCount(1:lenUnique)
    1376             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1377             :     !        write(test%disp%unit,"(*(g0,:,', '))") "lenUnique", lenUnique
    1378             :     !        write(test%disp%unit,"(*(g0,:,', '))")
    1379             :     !    end if
    1380             :     !    ! LCOV_EXCL_STOP
    1381             :     !
    1382             :     !end function test_findUnique_1
    1383             : 
    1384             : !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1385             : 
    1386             : end module test_pm_arrayUnique ! LCOV_EXCL_LINE

ParaMonte: Parallel Monte Carlo and Machine Learning Library 
The Computational Data Science Lab
© Copyright 2012 - 2024