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