public virtual void TestAddAll()
        {
            TwoDimensionalMap <string, string, string> m1 = TwoDimensionalMap.HashMap();

            m1.Put("A", "B", "1");
            m1.Put("Z", "Y", "2");
            m1.Put("Z", "B", "3");
            m1.Put("A", "Y", "4");
            m1.Put("D", "D", "5");
            m1.Put("D", "F", "6");
            m1.Put("K", "G", "7");
            m1.Put("G", "F", "8");
            TwoDimensionalMap <string, string, string> m2 = TwoDimensionalMap.TreeMap();

            m2.AddAll(m1, Functions.IdentityFunction <string>());
            NUnit.Framework.Assert.AreEqual(m1, m2);
            IFunction <string, int> valueOf            = null;
            TwoDimensionalMap <string, string, int> m3 = TwoDimensionalMap.HashMap();

            m3.AddAll(m1, valueOf);
            NUnit.Framework.Assert.AreEqual(m1.Size(), m3.Size());
            NUnit.Framework.Assert.AreEqual(3, m3.Get("Z", "B"));
        }