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

📄 basevaluetests.cpp

📁 C++连接一写常用数据库的接口
💻 CPP
字号:
/* * Common Unit Testing Functions * Copyright (C) 2003 Johnathan Ingram, jingram@rogueware.org * * This library is free software; you can redistribute it and/or *   modify it under the terms of the GNU Lesser General Public *   License as published by the Free Software Foundation; either *   version 2.1 of the License, or (at your option) any later version. * *   This library is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *   Lesser General Public License for more details. * *   You should have received a copy of the GNU Lesser General Public *   License along with this library; if not, write to the Free Software *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  US * */  #include "common.h"#include "baseValue.h"int main(      int argc,       char **argv){   printTestHeader("BaseValue Object");      JDate now;   BaseValue *baseValue = NULL;      // Test asString   baseValue = new BaseValue("StringField");   cout << INDENT << "TESTING: asString" << endl;      cout << INDENT2 << "setString(\"Testing String\"):" << INDENT;   baseValue->setString("Testing String");   cout << baseValue->asString() << endl;      cout << INDENT2 << "setLong(-69200):" << INDENT;   baseValue->setLong(-69200);   cout << baseValue->asString() << endl;      cout << INDENT2 << "setUnsignedLong(1200000):" << INDENT;   baseValue->setUnsignedLong(1200000);   cout << baseValue->asString() << endl;   cout << INDENT2 << "setFloat(84562.9932849):" << INDENT;   baseValue->setFloat(84562.9932849);      // This will always return the true IEEE internal rounding error storage as a string.   cout << baseValue->asString() << endl;   cout << INDENT2 << "setDateTime( " << now.asString().c_str() << "):" << INDENT;   baseValue->setDateTime(now);   cout << baseValue->asString() << endl;   cout << INDENT2 << "setBoolean(true)" << INDENT;   baseValue->setBoolean(true);   cout << baseValue->asString() << endl;   cout << INDENT2 << "setBinary((void*)\"ABC\", 4)" << INDENT;   baseValue->setBinary((void*)"ABC", 4);   cout << baseValue->asString() << endl;      delete baseValue;   // End asString            // Test asLong   baseValue = new BaseValue("LongField");   cout << INDENT << "TESTING: asLong" << endl;   cout << INDENT2 << "setString(\"-9000001\"):" << INDENT;   baseValue->setString("-9000001");   cout << baseValue->asLong() << endl;      cout << INDENT2 << "setLong(-69200):" << INDENT;   baseValue->setLong(-69200);   cout << baseValue->asLong() << endl;      cout << INDENT2 << "setUnsignedLong(1200000):" << INDENT;   baseValue->setUnsignedLong(1200000);   cout << baseValue->asLong() << endl;      cout << INDENT2 << "setFloat(84562.9932849):" << INDENT;   baseValue->setFloat(84562.9932849);         cout << baseValue->asLong() << endl;   cout << INDENT2 << "setDateTime( " << now.asString().c_str() << "):" << INDENT;   baseValue->setDateTime(now);   cout << baseValue->asLong() << " UnixTimestamp. 0 if out of range" << endl;   cout << INDENT2 << "setBoolean(true)" << INDENT;   baseValue->setBoolean(true);   cout << baseValue->asLong() << endl;   cout << INDENT2 << "setBinary((void*)\"ABC\", 4)" << INDENT;   baseValue->setBinary((void*)"ABCEFG", 4);   cout << baseValue->asLong() << endl;   delete baseValue;   // End asLong      // Test asUnsignedLong   baseValue = new BaseValue("UnsignedLongField");   cout << INDENT << "TESTING: asUnsignedLong" << endl;   cout << INDENT2 << "setString(\"84888223\"):" << INDENT;   baseValue->setString("834888223");   cout << baseValue->asUnsignedLong() << endl;      cout << INDENT2 << "setLong(-69200):" << INDENT;   baseValue->setLong(-69200);   cout << baseValue->asUnsignedLong() << endl;   cout << INDENT2 << "setLong(100000):" << INDENT;   baseValue->setLong(100000);   cout << baseValue->asUnsignedLong() << endl;      cout << INDENT2 << "setUnsignedLong(1200000):" << INDENT;   baseValue->setUnsignedLong(1200000);   cout << baseValue->asUnsignedLong() << endl;      cout << INDENT2 << "setFloat(84562.9932849):" << INDENT;   baseValue->setFloat(84562.9932849);         cout << baseValue->asUnsignedLong() << endl;   cout << INDENT2 << "setDateTime( " << now.asString().c_str() << "):" << INDENT;   baseValue->setDateTime(now);   cout << baseValue->asUnsignedLong() << " UnixTimestamp. 0 if out of range" << endl;   cout << INDENT2 << "setBoolean(false)" << INDENT;   baseValue->setBoolean(false);   cout << baseValue->asUnsignedLong() << endl;   cout << INDENT2 << "setBinary((void*)\"ABC\", 4)" << INDENT;   baseValue->setBinary((void*)"ABCEFG", 4);   cout << baseValue->asUnsignedLong() << endl;   delete baseValue;   // End asLong      // Test asFloat   baseValue = new BaseValue("FloatField");   cout << INDENT << "TESTING: asFloat" << endl;   cout.precision(12);  // Make sure all the floating point is printed   cout << INDENT2 << "setString(\"841.942056\"):" << INDENT;   baseValue->setString("841.942056");   cout << baseValue->asFloat() << endl;      cout << INDENT2 << "setLong(-69200):" << INDENT;   baseValue->setLong(-69200);   cout << baseValue->asFloat() << endl;      cout << INDENT2 << "setUnsignedLong(1200000):" << INDENT;   baseValue->setUnsignedLong(1200000);   cout << baseValue->asFloat() << endl;      cout << INDENT2 << "setFloat(84562.993284):" << INDENT;   baseValue->setFloat(84562.993284);         cout << baseValue->asFloat() << endl;   cout << INDENT2 << "setDateTime( " << now.asString().c_str() << "):" << INDENT;   baseValue->setDateTime(now);   cout << baseValue->asFloat() << " Julian Day Number, see JDate" << endl;   cout << INDENT2 << "setBoolean(true)" << INDENT;   baseValue->setBoolean(true);   cout << baseValue->asFloat() << endl;   cout << INDENT2 << "setBinary((void*)\"ABC\", 4)" << INDENT;   baseValue->setBinary((void*)"ABCEFG", 4);   cout << baseValue->asFloat() << endl;   delete baseValue;   // End asFloat      // Test asDateTime   baseValue = new BaseValue("DateTimeField");   cout << INDENT << "TESTING: asDateTime" << endl;   cout << INDENT2 << "setString(\"2003-01-31 19:15:31\"):" << INDENT;   baseValue->setString("2003-01-31 19:15:31");   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;   cout << INDENT2 << "setString(\"19:15:31\"):" << INDENT;   baseValue->setString("19:15:31");   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;   cout << INDENT2 << "setString(\"2003-01-31 19:15:31+02\"):" << INDENT;   baseValue->setString("2003-01-31 19:15:31+02");   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;   cout << INDENT2 << "setString(\"12:00:00-08\"):" << INDENT;   baseValue->setString("12:00:00-08");   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;   cout << INDENT2 << "setLong(0):" << INDENT;   baseValue->setLong(0);   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;      cout << INDENT2 << "setUnsignedLong(1061032147):" << INDENT;   baseValue->setUnsignedLong(1061032147);   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;      cout << INDENT2 << "setFloat(2465442.5):" << INDENT;   baseValue->setFloat(2465442.5);         cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;   cout << INDENT2 << "setDateTime( " << now.asString().c_str() << "):" << INDENT;   baseValue->setDateTime(now);   cout << baseValue->asDateTime().asString().c_str() << " UTC" << endl;   cout << INDENT2 << "setBoolean(true)" << INDENT;   baseValue->setBoolean(true);   cout << baseValue->asDateTime().asString().c_str() << " UTC   JDate Epoch" << endl;   cout << INDENT2 << "setBinary((void*)\"ABC\", 4)" << INDENT;   baseValue->setBinary((void*)"ABCEFG", 4);   cout << baseValue->asDateTime().asString().c_str() << " UTC   JDate Epoch" << endl;   delete baseValue;   // End asDateTime      // Test asBoolean   baseValue = new BaseValue("BoolField");   cout << INDENT << "TESTING: asBoolean" << endl;   cout << INDENT2 << "setString(\"true\"):" << INDENT;   baseValue->setString("true");   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setString(\"T\"):" << INDENT;   baseValue->setString("T");   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setString(\"F\"):" << INDENT;   baseValue->setString("F");   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setString(\"bla\"):" << INDENT;   baseValue->setString("bla");   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setString(\"22\"):" << INDENT;   baseValue->setString("22");   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setString(\"-22\"):" << INDENT;   baseValue->setString("-22");   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setLong(1):" << INDENT;   baseValue->setLong(1);   cout << baseValue->asBoolean() << endl;      cout << INDENT2 << "setUnsignedLong(0):" << INDENT;   baseValue->setUnsignedLong(0);   cout << baseValue->asBoolean() << endl;      cout << INDENT2 << "setFloat(5):" << INDENT;   baseValue->setFloat(5);         cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setDateTime( " << now.asString().c_str() << "):" << INDENT;   baseValue->setDateTime(now);   cout << baseValue->asBoolean() << " Always false" << endl;   cout << INDENT2 << "setBoolean(true)" << INDENT;   baseValue->setBoolean(true);   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setBoolean(false)" << INDENT;   baseValue->setBoolean(false);   cout << baseValue->asBoolean() << endl;   cout << INDENT2 << "setBinary((void*)\"ABC\", 4)" << INDENT;   baseValue->setBinary((void*)"ABCEFG", 4);   cout << baseValue->asBoolean() << " Always false" << endl;   delete baseValue;   // End asBoolean      cout << INDENT << "TESTING: asBinary" << endl;   cout << INDENT2 << "WILL ALWAYS RETURN A POINTER TO THE STRUCTURE" << endl;
   printTestFooter("BaseValue Object");   return 0;}

⌨️ 快捷键说明

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