IVGCVSW-3992 Add serialization support for ComparisonLayer

* Added serialization support and serialization-deserialization test
  for Comparison
* Added backward compatibility tests for Equal and Greater, to make
  sure they are serialized and deserialized as Comparison
* Refactored serialization tests and reduced code duplication by
  taking advantage of operator==() recently added for Descriptors

Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Change-Id: Id0fd94ef4b17e4e51c8005e585ea3c47f9c1bd8d
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 5c9855f..6122351 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -244,7 +244,13 @@
                                              const armnn::ComparisonDescriptor& descriptor,
                                              const char* name)
 {
-    throw armnn::UnimplementedException("SerializerVisitor::VisitComparisonLayer() is not implemented");
+    auto fbBaseLayer  = CreateLayerBase(layer, serializer::LayerType::LayerType_Comparison);
+    auto fbDescriptor = serializer::CreateComparisonDescriptor(
+        m_flatBufferBuilder,
+        GetFlatBufferComparisonOperation(descriptor.m_Operation));
+
+    auto fbLayer = serializer::CreateComparisonLayer(m_flatBufferBuilder, fbBaseLayer, fbDescriptor);
+    CreateAnyLayer(fbLayer.o, serializer::Layer::Layer_ComparisonLayer);
 }
 
 // Build FlatBuffer for Constant Layer