diff --git a/src/backends/cl/test/ClEndToEndTests.cpp b/src/backends/cl/test/ClEndToEndTests.cpp
index bf299dc..ba94353 100644
--- a/src/backends/cl/test/ClEndToEndTests.cpp
+++ b/src/backends/cl/test/ClEndToEndTests.cpp
@@ -19,32 +19,32 @@
 
 BOOST_AUTO_TEST_CASE(ClMergerEndToEndDim0Test)
 {
-    MergerDim0EndToEnd<float>(defaultBackends);
+    MergerDim0EndToEnd<armnn::DataType::Float32>(defaultBackends);
 }
 
 BOOST_AUTO_TEST_CASE(ClMergerEndToEndDim0Uint8Test)
 {
-    MergerDim0EndToEnd<uint8_t>(defaultBackends);
+    MergerDim0EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
 }
 
 BOOST_AUTO_TEST_CASE(ClMergerEndToEndDim1Test)
 {
-    MergerDim1EndToEnd<float>(defaultBackends);
+    MergerDim1EndToEnd<armnn::DataType::Float32>(defaultBackends);
 }
 
 BOOST_AUTO_TEST_CASE(ClMergerEndToEndDim1Uint8Test)
 {
-    MergerDim1EndToEnd<uint8_t>(defaultBackends);
+    MergerDim1EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
 }
 
 BOOST_AUTO_TEST_CASE(ClMergerEndToEndDim3Test)
 {
-    MergerDim3EndToEnd<float>(defaultBackends);
+    MergerDim3EndToEnd<armnn::DataType::Float32>(defaultBackends);
 }
 
 BOOST_AUTO_TEST_CASE(ClMergerEndToEndDim3Uint8Test)
 {
-    MergerDim3EndToEnd<uint8_t>(defaultBackends);
+    MergerDim3EndToEnd<armnn::DataType::QuantisedAsymm8>(defaultBackends);
 }
 
 BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp
index 96f2f1f..2fe03ab 100755
--- a/src/backends/cl/test/ClLayerTests.cpp
+++ b/src/backends/cl/test/ClLayerTests.cpp
@@ -414,17 +414,17 @@
 ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareConv2dWithReference, CompareConvolution2dTest)
 
 ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceFloat32,
-                                 CompareDepthwiseConvolution2dTest<float>,
+                                 CompareDepthwiseConvolution2dFloatTest,
                                  armnn::DataLayout::NCHW)
 ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceUint8,
-                                 CompareDepthwiseConvolution2dTest<uint8_t>,
+                                 CompareDepthwiseConvolution2dUint8Test,
                                  armnn::DataLayout::NCHW)
 
 ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceFloat32Nhwc,
-                                 CompareDepthwiseConvolution2dTest<float>,
+                                 CompareDepthwiseConvolution2dFloatTest,
                                  armnn::DataLayout::NHWC)
 ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareDepthwiseConv2dWithReferenceUint8Nhwc,
-                                 CompareDepthwiseConvolution2dTest<uint8_t>,
+                                 CompareDepthwiseConvolution2dUint8Test,
                                  armnn::DataLayout::NHWC)
 
 ARMNN_COMPARE_REF_AUTO_TEST_CASE(CompareNormalizationWithinWithReference, CompareNormalizationTest,
diff --git a/src/backends/cl/test/OpenClTimerTest.cpp b/src/backends/cl/test/OpenClTimerTest.cpp
index 6f44cc4..1eeb9ed 100644
--- a/src/backends/cl/test/OpenClTimerTest.cpp
+++ b/src/backends/cl/test/OpenClTimerTest.cpp
@@ -54,9 +54,9 @@
     int32_t qOffset = 0;
     float qScale = 0.f;
 
-    TensorInfo inputTensorInfo({num, channels, height, width}, GetDataType<float>());
-    TensorInfo outputTensorInfo({num, channels, height, width}, GetDataType<float>());
-    TensorInfo tensorInfo({channels}, GetDataType<float>());
+    TensorInfo inputTensorInfo({num, channels, height, width}, DataType::Float32);
+    TensorInfo outputTensorInfo({num, channels, height, width}, DataType::Float32);
+    TensorInfo tensorInfo({channels}, DataType::Float32);
 
     // Set quantization parameters if the requested type is a quantized type.
     if(IsQuantizedType<float>())
@@ -143,4 +143,4 @@
 
 BOOST_AUTO_TEST_SUITE_END()
 
-#endif //aarch64 or x86_64
\ No newline at end of file
+#endif //aarch64 or x86_64
