logic_test.cpp
来自「symbian 上的stl_port进过编译的。」· C++ 代码 · 共 66 行
CPP
66 行
#include <vector>#include <algorithm>#include <functional>#include "cppunit/cppunit_proxy.h"#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)using namespace std;#endif//// TestCase class//class LogicTest : public CPPUNIT_NS::TestCase{ CPPUNIT_TEST_SUITE(LogicTest); CPPUNIT_TEST(logicand); CPPUNIT_TEST(logicnot); CPPUNIT_TEST(logicor); CPPUNIT_TEST_SUITE_END();protected: void logicand(); void logicnot(); void logicor();};CPPUNIT_TEST_SUITE_REGISTRATION(LogicTest);//// tests implementation//void LogicTest::logicand(){ bool input1 [4] = { true, true, false, true }; bool input2 [4] = { false, true, false, false }; bool output [4]; transform((bool*)input1, (bool*)input1 + 4, (bool*)input2, (bool*)output, logical_and<bool>()); CPPUNIT_ASSERT(output[0]==false); CPPUNIT_ASSERT(output[1]==true); CPPUNIT_ASSERT(output[2]==false); CPPUNIT_ASSERT(output[3]==false);}void LogicTest::logicnot(){ bool input [7] = { 1, 0, 0, 1, 1, 1, 1 }; int n = count_if(input, input + 7, logical_not<bool>()); CPPUNIT_ASSERT( n == 2 );}void LogicTest::logicor(){ bool input1 [4] = { true, true, false, true }; bool input2 [4] = { false, true, false, false }; bool output [4]; transform((bool*)input1, (bool*)input1 + 4, (bool*)input2, (bool*)output, logical_or<bool>()); CPPUNIT_ASSERT(output[0]==true); CPPUNIT_ASSERT(output[1]==true); CPPUNIT_ASSERT(output[2]==false); CPPUNIT_ASSERT(output[3]==true);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?