예제 #1
0
        public void InvokeMethodTest()
        {
            var s = new System.Collections.Specialized.StringCollection();

            s.AddRange(new[] { "A", "B", "C" });
            var sa = new string[3];

            Assert.That(() => s.InvokeMethod("CopyTo", new[] { typeof(string[]), typeof(int) }, new object[] { sa, 0 }), Throws.Nothing);
            Assert.That(() => s.InvokeMethod("CopyTo", sa, 0), Throws.Nothing);
            Assert.That(sa[0] == "A");
            Assert.That(() => s.InvokeMethod("Clear"), Throws.Nothing);
            Assert.That(s.Count == 0);
            s.AddRange(sa);
            Assert.That(() => s.InvokeMethod("Clear", Type.EmptyTypes, null), Throws.Nothing);
            Assert.That(s.Count == 0);
            Assert.That(() => s.InvokeMethod("Clr", Type.EmptyTypes, null), Throws.ArgumentException);
            Assert.That(() => s.InvokeMethod <DateTime>("ToBinary", Type.EmptyTypes, null), Throws.ArgumentException);
        }