Fixed: TESTNG-471: assertEquals(Map, Map) fails if a map is a subset of the other
diff --git a/CHANGES.txt b/CHANGES.txt
index 8b44b6f..f01ad9a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,13 +3,16 @@
 Added: @Factory(dataProvider / dataProviderClass) on constructors
 Added: assertNotEquals() to Assert
 Added: assertArrayEquals() to AssertJUnit
+Fixed: TESTNG-471: assertEquals(Map, Map) fails if a map is a subset of the other
 Fixed: JUnitReporter generates an <error> tag for successful expectedExceptions tests
 
 Eclipse:
 
+Added: Two new @Test refactorings (pull to class level, push to method level)
 Added: JUnit conversion: @Ignore
 Added: JUnit conversion: assertArrayEquals()
 Added: JUnit conversion: @RunWith(Parameterized.class)
+Fixed: Workspace-wide XML template files are not being honored.
 Fixed: @BeforeClass/@AfterClass from JUnit4 are not being properly converted
 Fixed: Conversions generate @Test() instead of @Test
 
diff --git a/src/main/java/org/testng/Assert.java b/src/main/java/org/testng/Assert.java
index 3be66f6..fa7aaa3 100644
--- a/src/main/java/org/testng/Assert.java
+++ b/src/main/java/org/testng/Assert.java
@@ -698,6 +698,10 @@
       fail("Maps not equal: expected: " + expected + " and actual: " + actual);
     }
 
+    if (actual.size() != expected.size()) {
+      fail("Maps do not have the same size:" + actual.size() + " != " + expected.size());
+    }
+
     Set entrySet = actual.entrySet();
     for (Iterator iterator = entrySet.iterator(); iterator.hasNext();) {
       Map.Entry entry = (Map.Entry) iterator.next();
diff --git a/src/test/java/org/testng/AssertTest.java b/src/test/java/org/testng/AssertTest.java
index 4680756..10e3af8 100644
--- a/src/test/java/org/testng/AssertTest.java
+++ b/src/test/java/org/testng/AssertTest.java
@@ -5,6 +5,7 @@
 import org.testng.internal.annotations.Sets;

 

 import java.util.Collection;

+import java.util.HashMap;

 import java.util.Map;

 import java.util.Set;

 

@@ -101,4 +102,17 @@
       //do nothing

     }

   }

+

+  @Test(expectedExceptions = AssertionError.class)

+  public void assertEqualsMapShouldFail() {

+    Map<String, String> mapActual = new HashMap<String, String>() {{

+      put("a","1");

+    }};

+    Map<String, String> mapExpected = new HashMap<String, String>() {{

+      put("a","1");

+      put("b","2");

+    }};

+

+    Assert.assertEquals(mapActual, mapExpected);

+  }

 }