aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test/OptionalTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/test/OptionalTest.cpp')
-rw-r--r--src/armnn/test/OptionalTest.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/armnn/test/OptionalTest.cpp b/src/armnn/test/OptionalTest.cpp
new file mode 100644
index 0000000000..1b5aaa7db6
--- /dev/null
+++ b/src/armnn/test/OptionalTest.cpp
@@ -0,0 +1,63 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+#include <boost/test/unit_test.hpp>
+
+#include <armnn/Optional.hpp>
+#include <string>
+
+BOOST_AUTO_TEST_SUITE(OptionalTests)
+
+BOOST_AUTO_TEST_CASE(SimpleStringTests)
+{
+ armnn::Optional<std::string> optionalString;
+ BOOST_TEST(optionalString == false);
+ BOOST_TEST(optionalString.has_value() == false);
+
+ optionalString = std::string("Hello World");
+ BOOST_TEST(optionalString == true);
+ BOOST_TEST(optionalString.has_value() == true);
+ BOOST_TEST(optionalString.value() == "Hello World");
+
+ armnn::Optional<std::string> otherString;
+ otherString = optionalString;
+ BOOST_TEST(otherString == true);
+ BOOST_TEST(otherString.value() == "Hello World");
+
+ optionalString.reset();
+ BOOST_TEST(optionalString == false);
+ BOOST_TEST(optionalString.has_value() == false);
+
+ const std::string stringValue("Hello World");
+ armnn::Optional<std::string> optionalString2(stringValue);
+ BOOST_TEST(optionalString2 == true);
+ BOOST_TEST(optionalString2.has_value() == true);
+ BOOST_TEST(optionalString2.value() == "Hello World");
+
+ armnn::Optional<std::string> optionalString3(std::move(optionalString2));
+ BOOST_TEST(optionalString3 == true);
+ BOOST_TEST(optionalString3.has_value() == true);
+ BOOST_TEST(optionalString3.value() == "Hello World");
+}
+
+BOOST_AUTO_TEST_CASE(SimpleIntTests)
+{
+ const int intValue = 123;
+
+ armnn::Optional<int> optionalInt;
+ BOOST_TEST(optionalInt == false);
+ BOOST_TEST(optionalInt.has_value() == false);
+
+ optionalInt = intValue;
+ BOOST_TEST(optionalInt == true);
+ BOOST_TEST(optionalInt.has_value() == true);
+ BOOST_TEST(optionalInt.value() == intValue);
+
+ armnn::Optional<int> otherOptionalInt;
+ otherOptionalInt = optionalInt;
+ BOOST_TEST(otherOptionalInt == true);
+ BOOST_TEST(otherOptionalInt.value() == intValue);
+}
+
+BOOST_AUTO_TEST_SUITE_END()