diff --git a/src/armnnUtils/test/PrototxtConversionsTest.cpp b/src/armnnUtils/test/PrototxtConversionsTest.cpp
index f263a52..d51c801 100644
--- a/src/armnnUtils/test/PrototxtConversionsTest.cpp
+++ b/src/armnnUtils/test/PrototxtConversionsTest.cpp
@@ -15,28 +15,28 @@
     using armnnUtils::ConvertInt32ToOctalString;
 
     std::string octalString = ConvertInt32ToOctalString(1);
-    BOOST_ASSERT(octalString.compare("\\\\001\\\\000\\\\000\\\\000"));
+    BOOST_TEST(octalString.compare("\\\\001\\\\000\\\\000\\\\000"));
 
     octalString = ConvertInt32ToOctalString(256);
-    BOOST_ASSERT(octalString.compare("\\\\000\\\\100\\\\000\\\\000"));
+    BOOST_TEST(octalString.compare("\\\\000\\\\100\\\\000\\\\000"));
 
     octalString = ConvertInt32ToOctalString(65536);
-    BOOST_ASSERT(octalString.compare("\\\\000\\\\000\\\\100\\\\000"));
+    BOOST_TEST(octalString.compare("\\\\000\\\\000\\\\100\\\\000"));
 
     octalString = ConvertInt32ToOctalString(16777216);
-    BOOST_ASSERT(octalString.compare("\\\\000\\\\000\\\\000\\\\100"));
+    BOOST_TEST(octalString.compare("\\\\000\\\\000\\\\000\\\\100"));
 
     octalString = ConvertInt32ToOctalString(-1);
-    BOOST_ASSERT(octalString.compare("\\\\377\\\\377\\\\377\\\\377"));
+    BOOST_TEST(octalString.compare("\\\\377\\\\377\\\\377\\\\377"));
 
     octalString = ConvertInt32ToOctalString(-256);
-    BOOST_ASSERT(octalString.compare("\\\\000\\\\377\\\\377\\\\377"));
+    BOOST_TEST(octalString.compare("\\\\000\\\\377\\\\377\\\\377"));
 
     octalString = ConvertInt32ToOctalString(-65536);
-    BOOST_ASSERT(octalString.compare("\\\\000\\\\000\\\\377\\\\377"));
+    BOOST_TEST(octalString.compare("\\\\000\\\\000\\\\377\\\\377"));
 
     octalString = ConvertInt32ToOctalString(-16777216);
-    BOOST_ASSERT(octalString.compare("\\\\000\\\\000\\\\000\\\\377"));
+    BOOST_TEST(octalString.compare("\\\\000\\\\000\\\\000\\\\377"));
 }
 
 BOOST_AUTO_TEST_CASE(ConvertTensorShapeToStringTest)
@@ -51,13 +51,13 @@
     };
 
     auto output_string = createAndConvert({5});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
         "size: 5\n"
         "}"));
 
     output_string = createAndConvert({4, 5});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
             "size: 4\n"
         "}\n"
@@ -67,7 +67,7 @@
         ));
 
     output_string = createAndConvert({3, 4, 5});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
             "size: 3\n"
         "}\n"
@@ -80,7 +80,7 @@
         ));
 
     output_string = createAndConvert({2, 3, 4, 5});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
             "size: 2\n"
         "}\n"
@@ -96,7 +96,7 @@
         ));
 
     output_string = createAndConvert({1, 2, 3, 4, 5});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
             "size: 1\n"
         "}\n"
@@ -115,7 +115,7 @@
         ));
 
     output_string = createAndConvert({0xffffffff, 0xffffffff});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
             "size: 4294967295\n"
         "}\n"
@@ -125,7 +125,7 @@
         ));
 
     output_string = createAndConvert({1, 0});
-    BOOST_ASSERT(output_string.compare(
+    BOOST_TEST(output_string.compare(
         "dim {\n"
             "size: 1\n"
         "}\n"
