private void AssertMapValueEquals(MapValue a, MapValue b) { assertThat(a, equalTo(b)); assertThat(a.Size(), equalTo(b.Size())); assertThat(a.GetHashCode(), equalTo(b.GetHashCode())); assertThat(a.Keys, containsInAnyOrder(Iterables.asArray(typeof(string), b.Keys))); assertThat(Arrays.asList(a.Keys().asArray()), containsInAnyOrder(b.Keys().asArray())); a.Foreach((k, v) => assertThat(b.Get(k), equalTo(v))); b.Foreach((k, v) => assertThat(a.Get(k), equalTo(v))); }