public virtual void TestCoreMap()
        {
            ICoreMap @object = new ArrayCoreMap(0);

            NUnit.Framework.Assert.IsFalse(@object.ContainsKey(typeof(CoreMapTest.StringA)));
            @object.Set(typeof(CoreMapTest.StringA), "stem");
            NUnit.Framework.Assert.IsTrue(@object.ContainsKey(typeof(CoreMapTest.StringA)));
            NUnit.Framework.Assert.AreEqual("stem", @object.Get(typeof(CoreMapTest.StringA)));
            @object.Set(typeof(CoreMapTest.StringA), "hi");
            NUnit.Framework.Assert.AreEqual("hi", @object.Get(typeof(CoreMapTest.StringA)));
            NUnit.Framework.Assert.AreEqual(null, @object.Get(typeof(CoreMapTest.IntegerA)));
            @object.Set(typeof(CoreMapTest.IntegerA), 4);
            NUnit.Framework.Assert.AreEqual(int.Parse(4), @object.Get(typeof(CoreMapTest.IntegerA)));
            @object.Set(typeof(CoreMapTest.StringB), "Yes");
            NUnit.Framework.Assert.AreEqual("Wrong # objects", 3, @object.KeySet().Count);
            NUnit.Framework.Assert.AreEqual("Wrong keyset", new HashSet <Type>(Arrays.AsList(typeof(CoreMapTest.StringA), typeof(CoreMapTest.IntegerA), typeof(CoreMapTest.StringB))), @object.KeySet());
            NUnit.Framework.Assert.AreEqual("Wrong remove value", int.Parse(4), @object.Remove(typeof(CoreMapTest.IntegerA)));
            NUnit.Framework.Assert.AreEqual("Wrong # objects", 2, @object.KeySet().Count);
            NUnit.Framework.Assert.AreEqual("Wrong keyset", new HashSet <Type>(Arrays.AsList(typeof(CoreMapTest.StringA), typeof(CoreMapTest.StringB))), @object.KeySet());
            NUnit.Framework.Assert.AreEqual("Wrong value", "hi", @object.Get(typeof(CoreMapTest.StringA)));
            NUnit.Framework.Assert.AreEqual("Wrong value", "Yes", @object.Get(typeof(CoreMapTest.StringB)));
            NUnit.Framework.Assert.AreEqual(null, @object.Set(typeof(CoreMapTest.IntegerA), 7));
            NUnit.Framework.Assert.AreEqual(int.Parse(7), @object.Get(typeof(CoreMapTest.IntegerA)));
            NUnit.Framework.Assert.AreEqual(int.Parse(7), @object.Set(typeof(CoreMapTest.IntegerA), 3));
            NUnit.Framework.Assert.AreEqual(int.Parse(3), @object.Get(typeof(CoreMapTest.IntegerA)));
        }
        public virtual void TestKeySet()
        {
            ArrayCoreMap foo = new ArrayCoreMap();

            foo.Set(typeof(CoreAnnotations.TextAnnotation), "foo");
            foo.Set(typeof(CoreAnnotations.PartOfSpeechAnnotation), "NN");
            foo.Set(typeof(CoreAnnotations.DocIDAnnotation), null);
            NUnit.Framework.Assert.IsTrue(foo.KeySet().Contains(typeof(CoreAnnotations.TextAnnotation)));
            NUnit.Framework.Assert.IsTrue(foo.KeySet().Contains(typeof(CoreAnnotations.PartOfSpeechAnnotation)));
            NUnit.Framework.Assert.IsTrue(foo.KeySet().Contains(typeof(CoreAnnotations.DocIDAnnotation)));
            NUnit.Framework.Assert.IsFalse(foo.KeySet().Contains(typeof(CoreAnnotations.TokensAnnotation)));
        }