Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 1 | // |
| 2 | // Copyright © 2017 Arm Ltd. All rights reserved. |
| 3 | // SPDX-License-Identifier: MIT |
| 4 | // |
| 5 | |
Matthew Bentham | 4057d91 | 2019-01-21 15:45:51 +0000 | [diff] [blame] | 6 | #include <PrototxtConversions.hpp> |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 7 | #include "armnn/Tensor.hpp" |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 8 | |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 9 | #include <doctest/doctest.h> |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 10 | |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 11 | TEST_SUITE("PrototxtConversions") |
| 12 | { |
| 13 | TEST_CASE("ConvertInt32ToOctalStringTest") |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 14 | { |
Matthew Bentham | 4057d91 | 2019-01-21 15:45:51 +0000 | [diff] [blame] | 15 | using armnnUtils::ConvertInt32ToOctalString; |
| 16 | |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 17 | std::string octalString = ConvertInt32ToOctalString(1); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 18 | CHECK(octalString.compare("\\\\001\\\\000\\\\000\\\\000")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 19 | |
| 20 | octalString = ConvertInt32ToOctalString(256); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 21 | CHECK(octalString.compare("\\\\000\\\\100\\\\000\\\\000")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 22 | |
| 23 | octalString = ConvertInt32ToOctalString(65536); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 24 | CHECK(octalString.compare("\\\\000\\\\000\\\\100\\\\000")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 25 | |
| 26 | octalString = ConvertInt32ToOctalString(16777216); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 27 | CHECK(octalString.compare("\\\\000\\\\000\\\\000\\\\100")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 28 | |
| 29 | octalString = ConvertInt32ToOctalString(-1); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 30 | CHECK(octalString.compare("\\\\377\\\\377\\\\377\\\\377")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 31 | |
| 32 | octalString = ConvertInt32ToOctalString(-256); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 33 | CHECK(octalString.compare("\\\\000\\\\377\\\\377\\\\377")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 34 | |
| 35 | octalString = ConvertInt32ToOctalString(-65536); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 36 | CHECK(octalString.compare("\\\\000\\\\000\\\\377\\\\377")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 37 | |
| 38 | octalString = ConvertInt32ToOctalString(-16777216); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 39 | CHECK(octalString.compare("\\\\000\\\\000\\\\000\\\\377")); |
Ferran Balaguer | 51dd62f | 2019-01-11 19:29:18 +0000 | [diff] [blame] | 40 | } |
| 41 | |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 42 | TEST_CASE("ConvertTensorShapeToStringTest") |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 43 | { |
| 44 | using armnnUtils::ConvertTensorShapeToString; |
| 45 | using armnn::TensorShape; |
| 46 | |
| 47 | auto createAndConvert = [](std::initializer_list<unsigned int> dims) -> std::string |
| 48 | { |
| 49 | auto shape = TensorShape{dims}; |
| 50 | return ConvertTensorShapeToString(shape); |
| 51 | }; |
| 52 | |
| 53 | auto output_string = createAndConvert({5}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 54 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 55 | "dim {\n" |
| 56 | "size: 5\n" |
| 57 | "}")); |
| 58 | |
| 59 | output_string = createAndConvert({4, 5}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 60 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 61 | "dim {\n" |
| 62 | "size: 4\n" |
| 63 | "}\n" |
| 64 | "dim {\n" |
| 65 | "size: 5\n" |
| 66 | "}" |
| 67 | )); |
| 68 | |
| 69 | output_string = createAndConvert({3, 4, 5}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 70 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 71 | "dim {\n" |
| 72 | "size: 3\n" |
| 73 | "}\n" |
| 74 | "dim {\n" |
| 75 | "size: 4\n" |
| 76 | "}\n" |
| 77 | "dim {\n" |
| 78 | "size: 5\n" |
| 79 | "}" |
| 80 | )); |
| 81 | |
| 82 | output_string = createAndConvert({2, 3, 4, 5}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 83 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 84 | "dim {\n" |
| 85 | "size: 2\n" |
| 86 | "}\n" |
| 87 | "dim {\n" |
| 88 | "size: 3\n" |
| 89 | "}\n" |
| 90 | "dim {\n" |
| 91 | "size: 4\n" |
| 92 | "}\n" |
| 93 | "dim {\n" |
| 94 | "size: 5\n" |
| 95 | "}" |
| 96 | )); |
| 97 | |
| 98 | output_string = createAndConvert({1, 2, 3, 4, 5}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 99 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 100 | "dim {\n" |
| 101 | "size: 1\n" |
| 102 | "}\n" |
| 103 | "dim {\n" |
| 104 | "size: 2\n" |
| 105 | "}\n" |
| 106 | "dim {\n" |
| 107 | "size: 3\n" |
| 108 | "}\n" |
| 109 | "dim {\n" |
| 110 | "size: 4\n" |
| 111 | "}\n" |
| 112 | "dim {\n" |
| 113 | "size: 5\n" |
| 114 | "}" |
| 115 | )); |
| 116 | |
| 117 | output_string = createAndConvert({0xffffffff, 0xffffffff}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 118 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 119 | "dim {\n" |
| 120 | "size: 4294967295\n" |
| 121 | "}\n" |
| 122 | "dim {\n" |
| 123 | "size: 4294967295\n" |
| 124 | "}" |
| 125 | )); |
| 126 | |
| 127 | output_string = createAndConvert({1, 0}); |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 128 | CHECK(output_string.compare( |
Sang-Hoon Park | dd3f71b | 2020-02-18 11:27:35 +0000 | [diff] [blame] | 129 | "dim {\n" |
| 130 | "size: 1\n" |
| 131 | "}\n" |
| 132 | "dim {\n" |
| 133 | "size: 0\n" |
| 134 | "}" |
| 135 | )); |
| 136 | } |
| 137 | |
Sadik Armagan | 1625efc | 2021-06-10 18:24:34 +0100 | [diff] [blame] | 138 | } |