diff --git a/test/EndToEndTests/Common/Microsoft.OData.Client.E2E.TestCommon/Helpers/ODataValueAssertEqualHelper.cs b/test/EndToEndTests/Common/Microsoft.OData.Client.E2E.TestCommon/Helpers/ODataValueAssertEqualHelper.cs
new file mode 100644
index 0000000000..b2043f7b3d
--- /dev/null
+++ b/test/EndToEndTests/Common/Microsoft.OData.Client.E2E.TestCommon/Helpers/ODataValueAssertEqualHelper.cs
@@ -0,0 +1,123 @@
+//---------------------------------------------------------------------
+//
+// Copyright (C) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
+//
+//---------------------------------------------------------------------
+
+using Xunit;
+
+namespace Microsoft.OData.Client.E2E.TestCommon.Helpers;
+
+public static class ODataValueAssertEqualHelper
+{
+ #region Util methods to AssertEqual ODataValues
+
+ public static void AssertODataValueEqual(ODataValue expected, ODataValue actual)
+ {
+ ODataPrimitiveValue expectedPrimitiveValue = expected as ODataPrimitiveValue;
+ ODataPrimitiveValue actualPrimitiveValue = actual as ODataPrimitiveValue;
+ if (expectedPrimitiveValue != null && actualPrimitiveValue != null)
+ {
+ AssertODataPrimitiveValueEqual(expectedPrimitiveValue, actualPrimitiveValue);
+ }
+ else
+ {
+ ODataEnumValue expectedEnumValue = expected as ODataEnumValue;
+ ODataEnumValue actualEnumValue = actual as ODataEnumValue;
+ if (expectedEnumValue != null && actualEnumValue != null)
+ {
+ AssertODataEnumValueEqual(expectedEnumValue, actualEnumValue);
+ }
+ else
+ {
+ ODataCollectionValue expectedCollectionValue = (ODataCollectionValue)expected;
+ ODataCollectionValue actualCollectionValue = (ODataCollectionValue)actual;
+ AssertODataCollectionValueEqual(expectedCollectionValue, actualCollectionValue);
+ }
+ }
+ }
+
+ private static void AssertODataCollectionValueEqual(ODataCollectionValue expectedCollectionValue, ODataCollectionValue actualCollectionValue)
+ {
+ Assert.NotNull(expectedCollectionValue);
+ Assert.NotNull(actualCollectionValue);
+ Assert.Equal(expectedCollectionValue.TypeName, actualCollectionValue.TypeName);
+ var expectedItemsArray = expectedCollectionValue.Items.OfType