⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdata2.cxx

📁 RTP协议
💻 CXX
📖 第 1 页 / 共 3 页
字号:
         assert(dotEleven.convertDouble() == 0.11);         Data dEleven("0.11");         assert(dEleven.convertDouble() == 0.11);      }      {         cerr << "!MatchNoReplace!" << endl;         Data d("beforeZZafter");         Data res;         int k = d.match("ZZ", &res);         cerr << "Retval: " << k << " res: " << res << " orig: " << d << endl;         assert(res == "before");         assert(d == "beforeZZafter");         assert(k == FOUND);      }      {         cerr << "!MatchReplace!" << endl;         Data d("beforeZZafter");         Data res;         int k = d.match("ZZ", &res, true, "YYY");         cerr << "Retval: " << k << " res: " << res << " orig: " << d << endl;         assert(res == "before");         assert(d == "YYYafter");         assert(k == FOUND);      }      {         cerr << "!MatchNotFound!" << endl;         Data d("beforeZZafter");         Data res;         int k = d.match("qq", &res);         cerr << "Retval: " << k << " res: " << " orig: " << d << endl;         assert(res == "");         assert(d == "beforeZZafter");         assert(k == NOT_FOUND);      }      {         cerr << "!MatchNotFound!" << endl;         Data d("beforeZZafter");         Data res;         int k = d.match("qq", &res);         cerr << "Retval: " << k << " res: " << " orig: " << d << endl;         assert(res == "");         assert(d == "beforeZZafter");         assert(k == NOT_FOUND);      }      {         cerr << "!MatchFirst!" << endl;         Data d("ZZbeforeafter");         Data res;         int k = d.match("ZZ", &res);         cerr << "Retval: " << k << " res: " << " orig: " << d << endl;         assert(res == "");         assert(d == "ZZbeforeafter");         assert(k == FIRST);      }      {         cerr << "!MatchFirstReplace!" << endl;         Data d("ZZZZbeforeafter");         Data res;         int k = d.match("ZZZZ", &res, true, "QQQ");         cerr << "Retval: " << k << " res: " << res << " orig: " << d << endl;         assert(res == "");         assert(d == "QQQbeforeafter");         assert(k == FIRST);      }      {         cerr << "parse test" << endl;         Data d("STUFFijijijMORE STUFFij");         bool matchFail;         Data result = d.parse("ij", &matchFail);         cerr << "result = " << result << endl;         cerr << "rest = " << d << endl;         assert(!matchFail);         assert(result == "STUFF");         assert(d == "MORE STUFFij");      }      {         cerr << "parse test fail" << endl;         Data d("STUFFiiiiiMORE STUFFi");         bool matchFail;         Data result = d.parse("kj", &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "STUFFiiiiiMORE STUFFi");      }      {         cerr << "parseOutsideQuotes" << endl;         Data d("STUFFijijijMORE STUFFij");         bool matchFail;         Data result = d.parseOutsideQuotes("ij", true, false, &matchFail);         cerr << "result = " << result << endl;         cerr << "rest = " << d << endl;         assert(!matchFail);         assert(result == "STUFF");         assert(d == "MORE STUFFij");      }      {         cerr << "parseOutsideQuotes test fail" << endl;         Data d("STUFFiiiiiMORE STUFFi");         bool matchFail;         Data result = d.parseOutsideQuotes("kj", true, false, &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "STUFFiiiiiMORE STUFFi");      }      {         cerr << "parseOutsideQuotes, quotes" << endl;         Data d("\"iiiiiiNOPEjjjjjj\"STUFFijijijMORE STUFFij");         bool matchFail;         Data result = d.parseOutsideQuotes("ij", true, false, &matchFail);         cerr << "result = " << result << endl;         cerr << "rest = " << d << endl;         assert(!matchFail);         assert(result == "\"iiiiiiNOPEjjjjjj\"STUFF");         assert(d == "MORE STUFFij");      }      {         cerr << "parseOutsideQuotes test fail, quotes" << endl;         Data d("\"iiiiiiNOPEjjjjjj\"STUFFiiiiiMORE STUFFii");         bool matchFail;         Data result = d.parseOutsideQuotes("kj", true, false, &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "\"iiiiiiNOPEjjjjjj\"STUFFiiiiiMORE STUFFii");      }      {         cerr << "parseOutsideQuotes, <>" << endl;         Data d("<iiiiiiNOPEjjjjjj>STUFFijijijMORE STUFFij");         bool matchFail;         Data result = d.parseOutsideQuotes("ij", false, true, &matchFail);         cerr << "result = " << result << endl;         cerr << "rest = " << d << endl;         assert(!matchFail);         assert(result == "<iiiiiiNOPEjjjjjj>STUFF");         assert(d == "MORE STUFFij");      }      {         cerr << "parseOutsideQuotes test fail, <>" << endl;         Data d("<iiiiiiNOPEjjjjjj>STUFFiiiiiMORE STUFFii");         bool matchFail;         Data result = d.parseOutsideQuotes("kj", false, true, &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "<iiiiiiNOPEjjjjjj>STUFFiiiiiMORE STUFFii");      }      {         cerr << "parseOutsideQuotes, <\"\">" << endl;         Data d("<\"iiiiiiNOPEjjjjjj\">STUFFijijijMORE STUFFij");         bool matchFail;         Data result = d.parseOutsideQuotes("ij", false, true, &matchFail);         cerr << "result = " << result << endl;         cerr << "rest = " << d << endl;         assert(!matchFail);         assert(result == "<\"iiiiiiNOPEjjjjjj\">STUFF");         assert(d == "MORE STUFFij");      }      {         cerr << "parseOutsideQuotes test fail, <\"\">" << endl;         Data d("<\"iiiiiiNOPEjjjjjj\">STUFFiiiiiMORE STUFFii");         bool matchFail;         Data result = d.parseOutsideQuotes("kj", false, true, &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "<\"iiiiiiNOPEjjjjjj\">STUFFiiiiiMORE STUFFii");      }      {         cerr << "matchChar" << endl;         Data d("SKIPiiiiiMORE STUFFi");         bool matchFail;         Data result = d.parse("ij", &matchFail);         assert(!matchFail);         assert(result == "SKIP");         assert(d == "MORE STUFFi");      }      {         cerr << "parseOutsideQuotes, \"<>\"" << endl;         Data d("\"<iiiiiiNOPEjjjjjj>\"STUFFijijijMORE STUFFij");         bool matchFail;         Data result = d.parseOutsideQuotes("ij", true, false, &matchFail);         cerr << "result = " << result << endl;         cerr << "rest = " << d << endl;         assert(!matchFail);         assert(result == "\"<iiiiiiNOPEjjjjjj>\"STUFF");         assert(d == "MORE STUFFij");      }      {         cerr << "parseOutsideQuotes test fail, \"<>\"" << endl;         Data d("\"<iiiiiiNOPEjjjjjj>\"STUFFiiiiiMORE STUFFii");         bool matchFail;         Data result = d.parseOutsideQuotes("kj", true, false, &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "\"<iiiiiiNOPEjjjjjj>\"STUFFiiiiiMORE STUFFii");      }      {         cerr << "matchChar" << endl;         Data d("SKIPiiiiiMORE STUFFi");         bool matchFail;         Data result = d.parse("ij", &matchFail);         assert(!matchFail);         assert(result == "SKIP");         assert(d == "MORE STUFFi");      }      {         cerr << "matchChar" << endl;         Data d("SKIPiiiiiMORE STUFFi");         bool matchFail;         Data result = d.parse("kj", &matchFail);         assert(matchFail);         assert(result == "");         assert(d == "SKIPiiiiiMORE STUFFi");      }      {         cerr << "getLine" << endl;         bool matchFail;         Data d("line 1\r\nline 2\r\nline 3\r\n");               Data line1 = d.getLine(&matchFail);         assert(!matchFail);         assert(line1 == "line 1");         Data line2 = d.getLine(&matchFail);         assert(!matchFail);         assert(line2 == "line 2");         Data line3 = d.getLine(&matchFail);         assert(!matchFail);         assert(line3 == "line 3");         Data line4 = d.getLine(&matchFail);         assert(matchFail);         assert(line4 == "");      }      {         cerr << "removeSpaces" << endl;         Data d("         SPACES        ");         assert(d.removeSpaces() == "SPACES");         assert(d.removeSpaces() == "SPACES");         Data b("      BEFORE");         assert(b.removeSpaces() == "BEFORE");         Data a("AFTER     ");         assert(a.removeSpaces() == "AFTER");         Data e("             ");         assert(e.removeSpaces() == "");      }      {         cerr << "substring" << endl;         Data d("123456789");         assert(d.substring(3, 5) == "45");         assert(d.substring(3, -1) == "456789");         assert(d.substring(3, 3) == "");         assert(d.substring(0, 3) == "123");         assert(d.substring(0, 0) == "");         assert(d.substring(0, -1) == d);      }      {         cerr << "isEqualNoCase" << endl;         assert(isEqualNoCase(Data("MIxed"), Data("mixed")));         assert(isEqualNoCase(Data(""), Data("")));         assert(!isEqualNoCase(Data(""), Data("a")));         assert(!isEqualNoCase(Data("b"), Data("a")));         assert(isEqualNoCase("MIxed", Data("mixed")));         assert(isEqualNoCase("", Data("")));         assert(!isEqualNoCase("", Data("a")));         assert(!isEqualNoCase("b", Data("a")));      }   }   {      {         assert(CopyOnWriteData(0) == "0");         assert(CopyOnWriteData(1) == "1");         assert(CopyOnWriteData(-1) == "-1");         assert(CopyOnWriteData(11) == "11");               assert(CopyOnWriteData(1234567) == "1234567");         assert(CopyOnWriteData(-1234567) == "-1234567");      }      {         CopyOnWriteData mixed("MiXed");         mixed.lowercase();         assert(mixed == "mixed");         mixed.uppercase();         assert(mixed == "MIXED");               CopyOnWriteData e;         e.uppercase();         assert(e == "");               CopyOnWriteData m("1234!@#$!@aA#$2354");         m.lowercase();         assert(m == "1234!@#$!@aa#$2354");         m.uppercase();         assert(m == "1234!@#$!@AA#$2354");      }         {         CopyOnWriteData e("");         cerr << e.find("") << endl;         assert(e.find("") == 0);         assert(e.find("a") == CopyOnWriteData::npos);         CopyOnWriteData d;         assert(d.find("") == 0);         assert(d.find("a") == CopyOnWriteData::npos);               CopyOnWriteData f("asdfasdfrafs");         cerr << f.find("") << endl;         assert(f.find("") == CopyOnWriteData::npos);         assert(f.find("a") == 0);         assert(f.find("asdfasdfrafs") == 0);         assert(f.find("fs") == 10);         assert(f.find("fr") == 7);         assert(f.find("...") == CopyOnWriteData::npos);         assert(f.find("waytoolargetofind") == CopyOnWriteData::npos);         assert(f.find(CopyOnWriteData("")) == CopyOnWriteData::npos);         assert(f.find(CopyOnWriteData("a")) == 0);         assert(f.find(CopyOnWriteData("asdfasdfrafs")) == 0);         assert(f.find(CopyOnWriteData("fs")) == 10);         assert(f.find(CopyOnWriteData("fr")) == 7);      }            {         CopyOnWriteData empt;         CopyOnWriteData empt1;         assert(empt.length() == 0);         assert(empt == empt);         assert(empt == empt1);         assert(empt1 == empt);         assert(empt1 == "");         assert(!(empt != empt));         assert(!(empt != empt1));         assert(!(empt1 != empt));         assert(!(empt1 != ""));               assert("" == empt1);         assert("sdf" != empt1);         assert(CopyOnWriteData("SAfdsaf") != empt1);         empt = empt;         empt = empt1;         empt = "sdfasf";      }      {            CopyOnWriteData a("a");         CopyOnWriteData b("b");         assert(a != b);         assert(a < b);         a = b;         assert(a==b);         CopyOnWriteData c(a);         assert(c==a);         assert(c==b);         assert(a==b);      }         {         char* tmp = "sadfasdf";         CopyOnWriteData c(tmp, strlen(tmp));         CopyOnWriteData d(c);         CopyOnWriteData e(string("sdgdsg"));         assert(c < e);         assert(e > c);         assert(c < "zzz");         assert(c > "aaa");         assert(!(c > c));         assert(!(c < c));      }      {         char* tmp = "sadfasdf";         CopyOnWriteData c(tmp, 4);         assert(c == "sadf");      }      {         CopyOnWriteData d("qwerty");         char buf[10];         assert(strcmp(d.getData(buf, 10), "qwerty") == 0);         assert(strcmp(d.getData(buf, 2), "q") == 0);         assert(strcmp(d.getData(buf, 1), "") == 0);         CopyOnWriteData e;         assert(strcmp(e.getData(buf, 10), "") == 0);         assert(strcmp(e.getData(buf, 2), "") == 0);         assert(strcmp(e.getData(buf, 1), "") == 0);      }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -