3 #include "ScaleSTL/FortranTestMacros.h" 
   12 type(scalestl_vec_int) :: vec_ids,inds
 
   13 type(scalestl_vec_str) :: vec_str
 
   14 integer,
allocatable :: native_ids(:)
 
   15 integer,
parameter :: l=c_size_t
 
   17 type(scalestl_vec_int) :: remember
 
   18 logical(C_BOOL) :: found
 
   21 call nucset % initialize()
 
   22 expect_true(nucset % has_ids() ) 
 
   23 expect_eq(0,nucset % ids_size() )
 
   27 call vec_ids % initialize()
 
   28 call vec_ids % push_back(10008016)
 
   29 call vec_ids % push_back(10008017)
 
   30 call vec_ids % push_back(10054135)
 
   31 call vec_ids % push_back(20092235)
 
   32 call vec_ids % push_back(20092238)
 
   33 call vec_ids % push_back(30054135)
 
   34 expect_eq(6,vec_ids%size())
 
   38 remember % instance_ptr = vec_ids % instance_ptr
 
   39 call nucset % manageptr_ids(vec_ids)
 
   41 assert_not_c_assoc(vec_ids)
 
   44 call nucset % getptr_ids_vec(vec_ids)
 
   45 assert_c_assoc2(remember,vec_ids)
 
   48 call nucset % get_ids(native_ids)
 
   50 expect_eq(6,
size(native_ids,1))
 
   51 expect_eq(10008016,native_ids(1))
 
   52 expect_eq(10008017,native_ids(2))
 
   53 expect_eq(10054135,native_ids(3))
 
   54 expect_eq(20092235,native_ids(4))
 
   55 expect_eq(20092238,native_ids(5))
 
   56 expect_eq(30054135,native_ids(6))
 
   59 expect_eq(1_l,nucset%lookup_index(10008016))
 
   60 expect_eq(2_l,nucset%lookup_index(10008017))
 
   61 expect_eq(3_l,nucset%lookup_index(10054135))
 
   62 expect_eq(4_l,nucset%lookup_index(20092235))
 
   63 expect_eq(5_l,nucset%lookup_index(20092238))
 
   64 expect_eq(6_l,nucset%lookup_index(30054135))
 
   67 expect_eq(nucset%NOT_FOUND(),nucset%lookup_index(54135))
 
   70 expect_eq(6_l,nucset%lookup_index_guess(54135))
 
   73 call inds%initialize()
 
   74 found = nucset%lookup_index_all(inds,54135)
 
   76 expect_eq(2_l,inds%size())
 
   77 expect_eq(3_l,inds%at(1_l))
 
   78 expect_eq(6_l,inds%at(2_l))
 
   81 call nucset2 % initialize_copy(nucset)
 
   85 native_ids(4) = 21092235
 
   86 call nucset % set_ids(native_ids)
 
   89 call nucset % getptr_ids_vec(vec_ids)
 
   90 expect_eq(21092235,vec_ids%at(4_l))
 
   93 call nucset2 % getptr_ids_vec(vec_ids)
 
   94 expect_eq(20092235,vec_ids%at(4_l))
 
   97 call nucset % destroy()
 
   98 call nucset2 % destroy()
 
  103 call vec_ids % initialize()
 
  104 call vec_str % initialize()
 
  105 call vec_str % push_back(
"u235")
 
  106 call vec_str % push_back(
"u235m")
 
  107 call vec_str % push_back(
"pu239")
 
  108 call vec_str % push_back(
"h1")
 
  109 call vec_str % push_back(
"zr")
 
  110 call nucset % convert_symbol_to_izzzaaa(vec_str,vec_ids)
 
  111 expect_eq(92235,vec_ids%at(1_l))
 
  112 expect_eq(1092235,vec_ids%at(2_l))
 
  113 expect_eq(94239,vec_ids%at(3_l))
 
  114 expect_eq(1001,vec_ids%at(4_l))
 
  115 expect_eq(40000,vec_ids%at(5_l))
 
  117 call nucset % convert_sizzzaaa_to_zzzaaai(vec_ids)
 
  118 expect_eq(922350,vec_ids%at(1_l))
 
  119 expect_eq(922351,vec_ids%at(2_l))
 
  120 expect_eq(942390,vec_ids%at(3_l))
 
  121 expect_eq( 10010,vec_ids%at(4_l))
 
  122 expect_eq(400000,vec_ids%at(5_l))
 
  124 call vec_ids % destroy()
 
  125 call vec_str % destroy()