Server IP : 66.29.132.122 / Your IP : 3.135.216.170 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/opt/cpanel/ea-ruby27/src/passenger-release-6.0.23/test/cxx/DataStructures/ |
Upload File : |
#include <TestSupport.h> #include <DataStructures/StringMap.h> #include <string> #include <map> using namespace Passenger; using namespace std; namespace tut { struct DataStructures_StringMapTest: public TestBase { }; DEFINE_TEST_GROUP(DataStructures_StringMapTest); TEST_METHOD(1) { // get()ing a nonexistant key returns the default value. StringMap<string> m; ensure_equals(m.get("hello"), ""); } TEST_METHOD(2) { // set() works. StringMap<string> m; m.set("hello", "world"); m.set("foo", "bar"); ensure_equals(m.get("hello"), "world"); ensure_equals(m.get("foo"), "bar"); ensure_equals(m.get("something"), ""); } TEST_METHOD(3) { // set() overwrites old value. StringMap<string> m; m.set("hello", "world"); m.set("foo", "bar"); m.set("hello", "new world"); ensure_equals(m.get("hello"), "new world"); ensure_equals(m.get("foo"), "bar"); } TEST_METHOD(4) { // The key is interned so changing the original has no effect. StringMap<string> m; char key1[] = "hello"; char key2[] = "world"; m.set(key1, "xxx"); m.set(key2, "yyy"); key1[4] = 'p'; strcpy(key2, "zzzzz"); ensure_equals(m.get("hello"), "xxx"); ensure_equals(m.get("hellp"), ""); ensure_equals(m.get("world"), "yyy"); ensure_equals(m.get("zzzzz"), ""); } TEST_METHOD(5) { // remove() works. StringMap<string> m; m.set("hello", "world"); m.set("foo", "bar"); ensure(m.remove("hello")); ensure_equals(m.get("hello"), ""); ensure_equals(m.get("foo"), "bar"); ensure(!m.remove("hello")); } TEST_METHOD(6) { // Test iterators. StringMap<int> m; m.set("a", 1); m.set("b", 2); m.set("c", 3); m.set("d", 4); map<string, int> m2, m3; StringMap<int>::iterator it, end = m.end(); for (it = m.begin(); it != end; it++) { pair<StaticString, int> p = *it; m2[it->first] = it->second; m3[p.first] = p.second; } ensure_equals(m2.size(), 4u); ensure_equals(m2["a"], 1); ensure_equals(m2["b"], 2); ensure_equals(m2["c"], 3); ensure_equals(m2["d"], 4); ensure_equals(m3.size(), 4u); ensure_equals(m3["a"], 1); ensure_equals(m3["b"], 2); ensure_equals(m3["c"], 3); ensure_equals(m3["d"], 4); } TEST_METHOD(7) { // Test const_iterators. StringMap<int> m; m.set("a", 1); m.set("b", 2); m.set("c", 3); m.set("d", 4); map<string, int> m2, m3; StringMap<int>::const_iterator it, end = m.end(); for (it = m.begin(); it != end; it++) { pair<const StaticString, const int> p = *it; m2[it->first] = it->second; m3[p.first] = p.second; } ensure_equals(m2.size(), 4u); ensure_equals(m2["a"], 1); ensure_equals(m2["b"], 2); ensure_equals(m2["c"], 3); ensure_equals(m2["d"], 4); ensure_equals(m3.size(), 4u); ensure_equals(m3["a"], 1); ensure_equals(m3["b"], 2); ensure_equals(m3["c"], 3); ensure_equals(m3["d"], 4); } }