aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers/Collections
diff options
context:
space:
mode:
authorJon Skeet <jonskeet@google.com>2015-06-26 10:32:23 +0100
committerJon Skeet <jonskeet@google.com>2015-06-26 10:32:23 +0100
commitc12833104f43118d62f73ae9a82cfc7ba50a04b4 (patch)
tree1bd9c87f4295c7df827e57eefa7f2cc118055f3d /csharp/src/ProtocolBuffers/Collections
parentc06226354d89e53c96f69401539ef3208ba4ab44 (diff)
downloadprotobuf-c12833104f43118d62f73ae9a82cfc7ba50a04b4.tar.gz
protobuf-c12833104f43118d62f73ae9a82cfc7ba50a04b4.tar.bz2
protobuf-c12833104f43118d62f73ae9a82cfc7ba50a04b4.zip
Tweaks and more tests for maps
- Change the default message hash code to 1 to be consistent with other code - Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map" - Removed map fields from unittest_proto3.proto - Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only - Fixed factory methods in FieldCodec highlighted by using all field types :) - Added tests for map serialization: - Extra fields within entries - Entries with value then key - Non-contiguous entries for the same map - Multiple entries for the same key Changes to generated code coming in next commit
Diffstat (limited to 'csharp/src/ProtocolBuffers/Collections')
-rw-r--r--csharp/src/ProtocolBuffers/Collections/MapField.cs3
-rw-r--r--csharp/src/ProtocolBuffers/Collections/RepeatedField.cs2
2 files changed, 2 insertions, 3 deletions
diff --git a/csharp/src/ProtocolBuffers/Collections/MapField.cs b/csharp/src/ProtocolBuffers/Collections/MapField.cs
index 6834cfbb..9eed833f 100644
--- a/csharp/src/ProtocolBuffers/Collections/MapField.cs
+++ b/csharp/src/ProtocolBuffers/Collections/MapField.cs
@@ -261,7 +261,7 @@ namespace Google.Protobuf.Collections
public override int GetHashCode()
{
var valueComparer = EqualityComparer<TValue>.Default;
- int hash = 19;
+ int hash = 0;
foreach (var pair in list)
{
hash ^= pair.Key.GetHashCode() * 31 + valueComparer.GetHashCode(pair.Value);
@@ -380,7 +380,6 @@ namespace Google.Protobuf.Collections
private readonly Codec codec;
internal TKey Key { get; set; }
internal TValue Value { get; set; }
- internal int Size { get; set; }
internal MessageAdapter(Codec codec)
{
diff --git a/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs b/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs
index ebfc522f..4d4212cb 100644
--- a/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs
+++ b/csharp/src/ProtocolBuffers/Collections/RepeatedField.cs
@@ -193,7 +193,7 @@ namespace Google.Protobuf.Collections
public override int GetHashCode()
{
- int hash = 23;
+ int hash = 0;
for (int i = 0; i < count; i++)
{
hash = hash * 31 + array[i].GetHashCode();