diff --git a/test/1.0/FullyConnectedReshape.cpp b/test/1.0/FullyConnectedReshape.cpp
index 250f883..72c90ca 100644
--- a/test/1.0/FullyConnectedReshape.cpp
+++ b/test/1.0/FullyConnectedReshape.cpp
@@ -13,8 +13,30 @@
 BOOST_AUTO_TEST_CASE(TestFlattenFullyConnectedInput)
 {
     using armnn::TensorShape;
+
+    // Pass through 2d input
+    BOOST_TEST(FlattenFullyConnectedInput(TensorShape({2,2048}), TensorShape({512, 2048})) ==
+               TensorShape({2, 2048}));
+
+    // Trivial flattening of batched channels
     BOOST_TEST(FlattenFullyConnectedInput(TensorShape({97,1,1,2048}), TensorShape({512, 2048})) ==
                TensorShape({97, 2048}));
+
+    // Flatten single batch of rows
+    BOOST_TEST(FlattenFullyConnectedInput(TensorShape({1,97,1,2048}), TensorShape({512, 2048})) ==
+               TensorShape({97, 2048}));
+
+    // Flatten single batch of columns
+    BOOST_TEST(FlattenFullyConnectedInput(TensorShape({1,1,97,2048}), TensorShape({512, 2048})) ==
+               TensorShape({97, 2048}));
+
+    // Move batches into input dimension
+    BOOST_TEST(FlattenFullyConnectedInput(TensorShape({50,1,1,10}), TensorShape({512, 20})) ==
+               TensorShape({25, 20}));
+
+    // Flatten single batch of 3D data (e.g. convolution output)
+    BOOST_TEST(FlattenFullyConnectedInput(TensorShape({1,16,16,10}), TensorShape({512, 2560})) ==
+               TensorShape({1, 2560}));
 }
 
 BOOST_AUTO_TEST_SUITE_END()
