neq_test.cpp revision e46c9386c4f79aa40185f79a19fc5b2a7ef528b3
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include <vector> 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include <algorithm> 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include <functional> 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#include "cppunit/cppunit_proxy.h" 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 7bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES) 8f168b86d7fafc5c20c87bebc6fd393cb17e120catfarinausing namespace std; 9f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina#endif 10f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina 11bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com// 12f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina// TestCase class 13111fd11e11cbc296c97225ea16b7ff174a4bcdb5scroggo@google.com// 14f523e25da069e3e1af2cb73d37073a34f3bb9ea2reed@android.comclass NeqTest : public CPPUNIT_NS::TestCase 15bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com{ 166adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org CPPUNIT_TEST_SUITE(NeqTest); 176adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org CPPUNIT_TEST(negate0); 18f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina CPPUNIT_TEST(nequal0); 1938aeb0fd7a2bdab5e44531d96045dffe25c8e2b0commit-bot@chromium.org CPPUNIT_TEST_SUITE_END(); 206adce6783c5d7cbef276d04cc08a2b19789a0156commit-bot@chromium.org 21b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.comprotected: 22b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.com void negate0(); 23b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.com void nequal0(); 24b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.com}; 25b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.com 26410e6e80f00a6c660675c80904807a041c7b7d2amtklein@google.comCPPUNIT_TEST_SUITE_REGISTRATION(NeqTest); 27410e6e80f00a6c660675c80904807a041c7b7d2amtklein@google.com 28410e6e80f00a6c660675c80904807a041c7b7d2amtklein@google.com// 29b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.com// tests implementation 30b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.com// 31b8b92ea089a380e17984e4df7b49b379cb6bd929reed@google.comvoid NeqTest::negate0() 32bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com{ 334bc1983e01d756ae9c91fd380758457f579d26eareed@android.com int input [3] = { 1, 2, 3 }; 34bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com 354e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com int output[3]; 364e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com transform((int*)input, (int*)input + 3, (int*)output, negate<int>()); 374e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com 384e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com CPPUNIT_ASSERT(output[0]==-1); 394e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com CPPUNIT_ASSERT(output[1]==-2); 404e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com CPPUNIT_ASSERT(output[2]==-3); 414e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com} 42c289743864e2ab926a95e617a5cd1d29b26d1825mtklein@google.comvoid NeqTest::nequal0() 434e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com{ 444e635f9eb218b15f656a02e71c60d4f787fe9306reed@android.com int input1 [4] = { 1, 7, 2, 2 }; 45f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina int input2 [4] = { 1, 6, 2, 3 }; 46bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com 47f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina int output [4]; 4815e9d3e66e161ce23df30bc13f8a0c87d196b463robertphillips@google.com transform((int*)input1, (int*)input1 + 4, (int*)input2, (int*)output, not_equal_to<int>()); 49f168b86d7fafc5c20c87bebc6fd393cb17e120catfarina 504bc1983e01d756ae9c91fd380758457f579d26eareed@android.com CPPUNIT_ASSERT(output[0]==0); 51bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com CPPUNIT_ASSERT(output[1]==1); 52bd700c391dd45acd8ea1a40321789c9d92a14bb8reed@android.com CPPUNIT_ASSERT(output[2]==0); 5330e6d2c2054c15f1cb6c0637bee6756261291751bsalomon@google.com CPPUNIT_ASSERT(output[3]==1); 54644629c1c7913a43ced172b98d56e0f471bc348bcommit-bot@chromium.org} 55644629c1c7913a43ced172b98d56e0f471bc348bcommit-bot@chromium.org