summaryrefslogtreecommitdiff
path: root/runtimes/neurun/test/graph/operand/LayoutSet.cc
diff options
context:
space:
mode:
Diffstat (limited to 'runtimes/neurun/test/graph/operand/LayoutSet.cc')
-rw-r--r--runtimes/neurun/test/graph/operand/LayoutSet.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/runtimes/neurun/test/graph/operand/LayoutSet.cc b/runtimes/neurun/test/graph/operand/LayoutSet.cc
new file mode 100644
index 000000000..6ff21cb60
--- /dev/null
+++ b/runtimes/neurun/test/graph/operand/LayoutSet.cc
@@ -0,0 +1,27 @@
+#include <gtest/gtest.h>
+
+#include "graph/operand/LayoutSet.h"
+
+using neurun::graph::operand::Layout;
+using neurun::graph::operand::LayoutSet;
+
+TEST(graph_operand_LayoutSet, layout_set_operators)
+{
+ LayoutSet set1{Layout::NCHW};
+ LayoutSet set2{Layout::NHWC};
+ LayoutSet set3 = set1 | set2;
+
+ ASSERT_EQ(set3.size(), 2);
+
+ ASSERT_EQ((set3 - set1).size(), 1);
+ ASSERT_EQ((set3 - set1).contains(Layout::NHWC), true);
+ ASSERT_EQ((set3 - set2).size(), 1);
+ ASSERT_EQ((set3 - set2).contains(Layout::NCHW), true);
+ ASSERT_EQ((set3 - set3).size(), 0);
+
+ ASSERT_EQ((set3 & set1).size(), 1);
+ ASSERT_EQ((set3 & set1).contains(Layout::NCHW), true);
+ ASSERT_EQ((set3 & set2).size(), 1);
+ ASSERT_EQ((set3 & set2).contains(Layout::NHWC), true);
+ ASSERT_EQ((set1 & set2).size(), 0);
+}