File indexing completed on 2026-04-09 07:49:18
0001
0002
0003
0004
0005
0006
0007
0008 #include "ssys.h"
0009 #include "slist.h"
0010
0011 struct slist_test
0012 {
0013 static int FindIndices();
0014 static int FindIndex();
0015 static int FindIndex_0();
0016 static int FindIndex_1();
0017 static int Contains();
0018 static int Main();
0019 };
0020
0021 inline int slist_test::FindIndices()
0022 {
0023 std::cerr << "slist_test::FindIndices\n" ;
0024 std::vector<int> idx_red ;
0025 std::vector<std::string> name = {{ "red", "green" , "blue", "red", "redgreen", "redblue" }} ;
0026 slist::FindIndices(idx_red, name, "red" );
0027 assert( idx_red.size() == 2 && idx_red[0] == 0 && idx_red[1] == 3 );
0028 return 0 ;
0029 }
0030
0031 inline int slist_test::FindIndex()
0032 {
0033 std::cerr << "slist_test::FindIndex\n" ;
0034 int rc = 0 ;
0035 rc += FindIndex_0();
0036 rc += FindIndex_1();
0037 return rc ;
0038 }
0039
0040 inline int slist_test::FindIndex_0()
0041 {
0042 std::cerr << "slist_test::FindIndex_0\n" ;
0043 std::vector<std::string> name = {{ "red", "green" , "blue", "red", "redgreen", "redblue" }} ;
0044 int idx = slist::FindIndex(name, "red" );
0045 assert( idx == -1 );
0046 return 0 ;
0047 }
0048
0049 inline int slist_test::FindIndex_1()
0050 {
0051 std::cerr << "slist_test::FindIndex_1\n" ;
0052 std::vector<std::string> name = {{ "red", "green" , "blue", "red", "redgreen", "redblue" }} ;
0053 int idx = slist::FindIndex(name, "green" );
0054 assert( idx == 1 );
0055 return 0 ;
0056 }
0057
0058 inline int slist_test::Contains()
0059 {
0060 std::cerr << "slist_test::Contains\n" ;
0061 std::vector<int> idx = {100, 200, 300} ;
0062 bool q_101 = slist::Contains(idx, 101 );
0063 assert( q_101 == false );
0064
0065 bool q_100 = slist::Contains(idx, 100 );
0066 assert( q_100 == true );
0067
0068 return 0 ;
0069 }
0070
0071
0072
0073 inline int slist_test::Main()
0074 {
0075 const char* TEST = ssys::getenvvar("TEST", "ALL" );
0076 bool ALL = strcmp(TEST, "ALL") == 0 ;
0077
0078 int rc = 0 ;
0079 if(ALL || strcmp(TEST, "FindIndex") == 0 ) rc += FindIndex();
0080 if(ALL || strcmp(TEST, "FindIndices") == 0 ) rc += FindIndices();
0081 if(ALL || strcmp(TEST, "Contains") == 0 ) rc += Contains();
0082 return rc ;
0083 }
0084
0085 int main()
0086 {
0087 return slist_test::Main() ;
0088 }