IVGCVSW-3391 Add SpaceToDepth CreateWorkload and EndToEnd tests

 * Refactored existing EndToEnd tests, moved
   tests in reference to backendsCommon.
 * Enabled EndToEnd tests for CL.
 * Added new Ref/CL CreateWorkload tests.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I0a5e52961a8aca540d43241a3805d19c9c6ff56c
diff --git a/src/backends/reference/test/RefCreateWorkloadTests.cpp b/src/backends/reference/test/RefCreateWorkloadTests.cpp
index 8fe18f5..2fa6cbf 100644
--- a/src/backends/reference/test/RefCreateWorkloadTests.cpp
+++ b/src/backends/reference/test/RefCreateWorkloadTests.cpp
@@ -962,4 +962,32 @@
                       armnn::InvalidArgumentException);
 }
 
+template <typename SpaceToDepthWorkloadType, armnn::DataType DataType>
+static void RefCreateSpaceToDepthWorkloadTest()
+{
+    Graph graph;
+    RefWorkloadFactory factory;
+
+    auto workload = CreateSpaceToDepthWorkloadTest<SpaceToDepthWorkloadType, DataType>(factory, graph);
+
+    CheckInputOutput(std::move(workload),
+                     TensorInfo({ 1, 2, 2, 1 }, DataType),
+                     TensorInfo({ 1, 1, 1, 4 }, DataType));
+}
+
+BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadFloat32)
+{
+    RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::Float32>();
+}
+
+BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadQASymm8)
+{
+    RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::QuantisedAsymm8>();
+}
+
+BOOST_AUTO_TEST_CASE(CreateSpaceToDepthWorkloadQSymm16)
+{
+    RefCreateSpaceToDepthWorkloadTest<RefSpaceToDepthWorkload, armnn::DataType::QuantisedSymm16>();
+}
+
 BOOST_AUTO_TEST_SUITE_END()