modulus_test.cpp revision e46c9386c4f79aa40185f79a19fc5b2a7ef528b3
1#include <algorithm>
2#include <functional>
3
4#include "cppunit/cppunit_proxy.h"
5
6#if !defined (STLPORT) || defined(_STLP_USE_NAMESPACES)
7using namespace std;
8#endif
9
10//
11// TestCase class
12//
13class ModulusTest : public CPPUNIT_NS::TestCase
14{
15  CPPUNIT_TEST_SUITE(ModulusTest);
16  CPPUNIT_TEST(modulus0);
17  CPPUNIT_TEST_SUITE_END();
18
19protected:
20  void modulus0();
21};
22
23CPPUNIT_TEST_SUITE_REGISTRATION(ModulusTest);
24
25//
26// tests implementation
27//
28void ModulusTest::modulus0()
29{
30  int input1 [4] = { 6, 8, 10, 2 };
31  int input2 [4] = { 4, 2, 11, 3 };
32
33  int output [4];
34
35  transform((int*)input1, (int*)input1 + 4, (int*)input2, (int*)output, modulus<int>());
36  CPPUNIT_ASSERT(output[0]==2);
37  CPPUNIT_ASSERT(output[1]==0);
38  CPPUNIT_ASSERT(output[2]==10);
39  CPPUNIT_ASSERT(output[3]==2);
40}
41