Переглянути джерело

Merge branch 'master' into HeRaNO-fix-171-wany

# Conflicts:
#	testlib.h
#	tests/test-003_run-rnd/refs/r1/stdout
#	tests/test-003_run-rnd/refs/r2/stdout
#	tests/test-003_run-rnd/src/gen.cpp
mikemirzayanov 7 місяців тому
батько
коміт
7cf5a1e493

+ 2 - 2
testlib.h

@@ -1101,7 +1101,7 @@ public:
     /* Returns weighted random element from container. */
     template<typename Container>
     typename Container::value_type wany(const Container &c, int type) {
-        size_t size = c.size();
+        int size = int(c.size());
         if (size <= 0)
             __testlib_fail("random_t::wany(const Container& c, int type): c.size() must be positive");
         typename Container::const_iterator it = c.begin();
@@ -4404,7 +4404,7 @@ void registerGen(int argc, char *argv[]) {
 }
 #endif
 
-static void setAppesModeEncoding(std::string appesModeEncoding) {
+void setAppesModeEncoding(std::string appesModeEncoding) {
     static const char* const ENCODINGS[] = {"ascii", "utf-7", "utf-8", "utf-16", "utf-16le", "utf-16be", "utf-32", "utf-32le", "utf-32be", "iso-8859-1", 
 "iso-8859-2", "iso-8859-3", "iso-8859-4", "iso-8859-5", "iso-8859-6", "iso-8859-7", "iso-8859-8", "iso-8859-9", "iso-8859-10", "iso-8859-11", 
 "iso-8859-13", "iso-8859-14", "iso-8859-15", "iso-8859-16", "windows-1250", "windows-1251", "windows-1252", "windows-1253", "windows-1254", "windows-1255", 

+ 7 - 4
tests/test-003_run-rnd/refs/r1/stdout

@@ -51,15 +51,18 @@ vutwaahqooeqoxzxwetlpecqiwgdbogiqqulttysyohwhzxzphvsfmnplizxoebzcvvfyppqbhxjksuz
 1880
 1973
 1850
+2116
+441
+e
 a
-d
 c
 f
+e
 d
 b
-c
 f
 c
-e
+f
+f
+b
 b
-c

+ 10 - 7
tests/test-003_run-rnd/refs/r2/stdout

@@ -141,15 +141,18 @@ clizwkchataumicxkohcrpqnyrjyzbjvsypznpembvkkkbyzvzckcmhbjbuopfbwbkntswhwsdfzabjg
 1363
 1897
 1175
-c
-d
-b
-f
+3249
+3481
+e
 d
 c
+f
 d
+a
+a
 e
 e
-e
-e
-b
+f
+f
+d
+c

+ 7 - 0
tests/test-003_run-rnd/src/gen.cpp

@@ -128,6 +128,13 @@ int main(int argc, char* argv[])
     std::cout << rnd.wnext((signed int) 42, (signed int) 2011, 4) << std::endl;
     std::cout << rnd.wnext((signed short) 42, (signed short) 2011, 4) << std::endl;
 
+    println(rnd.wany(a, 1));
+    println(rnd.wany(a, -1));
+
+    set<string> b;
+    b.insert("a"); b.insert("b"); b.insert("c"); b.insert("d"); b.insert("e"); b.insert("f"); b.insert("g");
+    println(rnd.any(b));
+
     {
         std::set<std::string> string_set;
         string_set.insert("a");