remove \r
[extl.git] / extl / container / test / basic_matrix_test.h
blob138c8e865a28551ab8fe9da64ae4613edf0700bf
1 /* ///////////////////////////////////////////////////////////////////////
2 * File: basic_matrix_test.h
4 * Created: 08.08.07
5 * Updated: 08.08.10
7 * Brief: Unit-testing
9 * [<Home>]
10 * Copyright (c) 2008-2020, Waruqi All rights reserved.
11 * //////////////////////////////////////////////////////////////////// */
12 #ifndef EXTL_CONTAINER_BASIC_MATRIX_TEST_H
13 #define EXTL_CONTAINER_BASIC_MATRIX_TEST_H
15 /* ///////////////////////////////////////////////////////////////////////
16 * ::unit_test namespace
18 EXTL_BEGIN_NAMESPACE
19 EXTL_TEST_NAME_BEGIN_NAMESPACE(basic_matrix_test)
21 /* ///////////////////////////////////////////////////////////////////////
22 * Unit-testing
24 static int basic_matrix_test()
26 typedef basic_matrix<int, buffer_selector<int>::buffer_type> basic_matrix_type;
28 int buf1[] = { 1, 2, 3, 4 ,
29 5, 6, 7, 8,
30 9, 10, 11, 12 };
31 basic_matrix_type ma1(buf1, 3, 4);
33 EXTL_ASSERT(ma1.dim0() == 3);
34 EXTL_ASSERT(ma1.dim1() == 4);
35 EXTL_ASSERT(ma1[0].dim0() == 4);
36 EXTL_ASSERT(ma1.size() == 12);
38 EXTL_ASSERT(ma1[1][0] == 5);
39 EXTL_ASSERT(ma1.front() == 1);
40 EXTL_ASSERT(ma1.back() == 12);
42 int buf2[3][4] = { {1, 1, 1, 1},
43 {1, 1, 1, 1},
44 {1, 1, 1, 1} };
46 basic_matrix_type ma2(reinterpret_cast<int const*>(buf2), 3, 4);
48 EXTL_ASSERT(ma2[1][0] == 1);
49 EXTL_ASSERT(ma2.at(1, 0) == 1);
50 EXTL_ASSERT(ma2.front() == 1);
51 EXTL_ASSERT(ma2.back() == 1);
52 EXTL_ASSERT(ma2.dim0() == 3);
53 EXTL_ASSERT(ma2.dim1() == 4);
55 ma2.swap(ma1);
57 EXTL_ASSERT(ma2.at(1, 0) == 5);
58 EXTL_ASSERT(ma2.front() == 1);
59 EXTL_ASSERT(ma2.back() == 12);
61 ma2[1][0] = 6;
62 EXTL_ASSERT(ma2[1][0] == 6);
64 EXTL_TEST_TRACE(_T("basic_matrix test:"));
65 for (e_size_t i = 0; i < ma2.dim0(); ++i)
67 EXTL_TEST_TRACE(_T("%d %d %d %d"), ma2[i][0], ma2[i][1], ma2[i][2], ma2[i][3]);
70 EXTL_TEST_TRACE(_T("\nelement:"));
71 for (basic_matrix_type::const_iterator p = ma2.begin(); p != ma2.end(); ++p)
73 EXTL_TEST_TRACE(_T("%d "), *p);
76 EXTL_TEST_TRACE(_T("\nrow(0):"));
77 for (basic_matrix_type::const_rowe_iterator prowe = ma2.rowe_begin(0); prowe != ma2.rowe_end(0); ++prowe)
79 EXTL_TEST_TRACE(_T("%d "), *prowe);
82 EXTL_TEST_TRACE(_T("\nreverse row(0):"));
83 for (basic_matrix_type::const_rowe_reverse_iterator rprowe = ma2.rowe_rbegin(0); rprowe != ma2.rowe_rend(0); ++rprowe)
85 EXTL_TEST_TRACE(_T("%d "), *rprowe);
88 EXTL_TEST_TRACE(_T("\ncol(0):"));
89 for (basic_matrix_type::const_cole_iterator pcole = ma2.cole_begin(0); pcole != ma2.cole_end(0); ++pcole)
91 EXTL_TEST_TRACE(_T("%d "), *pcole);
94 EXTL_TEST_TRACE(_T("\nreverse col(0):"));
95 for (basic_matrix_type::const_cole_reverse_iterator rpcole = ma2.cole_rbegin(0); rpcole != ma2.cole_rend(0); ++rpcole)
97 EXTL_TEST_TRACE(_T("%d "), *rpcole);
99 EXTL_TEST_TRACE(_T(""));
100 return 0;
102 int basic_matrix_test_ret = basic_matrix_test();
104 /* ///////////////////////////////////////////////////////////////////////
105 * ::unit_test namespace
107 EXTL_TEST_NAME_END_NAMESPACE(basic_matrix_test)
108 EXTL_END_NAMESPACE
109 /* //////////////////////////////////////////////////////////////////// */
110 #endif /* EXTL_CONTAINER_BASIC_MATRIX_TEST_H */
111 /* //////////////////////////////////////////////////////////////////// */