Пример #1
0
        public void InterfaceImplementation()
        {
            var     variantTest = new TestLib.VariantTests();
            dynamic d           = variantTest.VariantInterface(new InterfaceClass());

            Assert.AreEqual(nameof(InterfaceClass), d);
        }
Пример #2
0
        public void VariantsAsRustToComParameters()
        {
            var variantTest = new TestLib.VariantTests();

            Assert.AreEqual(null, variantTest.VariantResult(0));
            Assert.AreEqual(( short )-1, variantTest.VariantResult(2));
            Assert.AreEqual(-1, variantTest.VariantResult(3));
            Assert.AreEqual(-1.234f, variantTest.VariantResult(4));
            Assert.AreEqual(-1.234d, variantTest.VariantResult(5));
            Assert.AreEqual(DateTime.Parse("1899-12-30T00:00:00"),
                            variantTest.VariantResult(701));
            Assert.AreEqual(DateTime.Parse("2000-01-02T03:04:05"),
                            variantTest.VariantResult(702));
            Assert.AreEqual(DateTime.Parse("2000-01-01T00:00:00"),
                            variantTest.VariantResult(703));
            Assert.AreEqual(DateTime.Parse("1800-01-02T03:04:05"),
                            variantTest.VariantResult(704));
            Assert.AreEqual(DateTime.Parse("1800-01-01T00:00:00"),
                            variantTest.VariantResult(705));
            Assert.AreEqual("text", variantTest.VariantResult(801));      // BString
            Assert.AreEqual("text", variantTest.VariantResult(802));      // String
            Assert.AreEqual("text", variantTest.VariantResult(803));      // CString
            Assert.AreEqual(true, variantTest.VariantResult(11));
            Assert.AreEqual((sbyte)-1, variantTest.VariantResult(16));
            Assert.AreEqual((byte)129, variantTest.VariantResult(17));
            Assert.AreEqual((ushort)12929, variantTest.VariantResult(18));
            Assert.AreEqual(1292929u, variantTest.VariantResult(19));
            Assert.AreEqual(-1L, variantTest.VariantResult(20));
            Assert.AreEqual(129292929UL, variantTest.VariantResult(21));
        }
Пример #3
0
        public void VariantsAsComToRustParameters()
        {
            var variantTest = new TestLib.VariantTests();

            variantTest.VariantParameter(0, null);
            variantTest.VariantParameter(2, (short)-1);
            variantTest.VariantParameter(3, -1);
            variantTest.VariantParameter(4, -1.234f);
            variantTest.VariantParameter(5, -1.234d);
            variantTest.VariantParameter(701,
                                         DateTime.Parse("1899-12-30T00:00:00"));
            variantTest.VariantParameter(702,
                                         DateTime.Parse("2000-01-02T03:04:05"));
            variantTest.VariantParameter(703,
                                         DateTime.Parse("2000-01-01T00:00:00"));
            variantTest.VariantParameter(704,
                                         DateTime.Parse("1800-01-02T03:04:05"));
            variantTest.VariantParameter(705,
                                         DateTime.Parse("1800-01-01T00:00:00"));
            variantTest.VariantParameter(8, "text");
            variantTest.VariantParameter(9, new object());
            variantTest.VariantParameter(11, true);
            variantTest.VariantParameter(14, 1.0m);
            variantTest.VariantParameter(16, (sbyte)-1);
            variantTest.VariantParameter(17, (byte)129);
            variantTest.VariantParameter(18, (ushort)12929);
            variantTest.VariantParameter(19, 1292929u);
            variantTest.VariantParameter(20, -1L);
            variantTest.VariantParameter(21, 129292929UL);
        }
Пример #4
0
        public void DotNetClassByParameter()
        {
            var     variantTest = new TestLib.VariantTests();
            dynamic d           = variantTest.VariantInterface(new DotNetClass());

            Assert.AreEqual(nameof(DotNetClass), d);
        }
Пример #5
0
        public void VariantsAsComToRustParameters()
        {
            var variantTest = new TestLib.VariantTests();

            variantTest.VariantParameter(0, null);
            variantTest.VariantParameter(2, (short)-1);
            variantTest.VariantParameter(3, -1);
            variantTest.VariantParameter(4, -1.234f);
            variantTest.VariantParameter(5, -1.234d);
            variantTest.VariantParameter(701,
                                         DateTime.Parse("1899-12-30T00:00:00"));
            variantTest.VariantParameter(702,
                                         DateTime.Parse("2000-01-02T03:04:05"));
            variantTest.VariantParameter(703,
                                         DateTime.Parse("2000-01-01T00:00:00"));
            variantTest.VariantParameter(704,
                                         DateTime.Parse("1800-01-02T03:04:05"));
            variantTest.VariantParameter(705,
                                         DateTime.Parse("1800-01-01T00:00:00"));
            variantTest.VariantParameter(8, "text");
            variantTest.VariantParameter(11, true);
            variantTest.VariantParameter(16, (sbyte)-1);
            variantTest.VariantParameter(17, (byte)129);
            variantTest.VariantParameter(18, (ushort)12929);
            variantTest.VariantParameter(19, 1292929u);
            variantTest.VariantParameter(20, -1L);
            variantTest.VariantParameter(21, 129292929UL);

            Assert.ThrowsException <NotImplementedException>(() =>
                                                             variantTest.VariantParameter(9, new object())); // IDispatch
            Assert.ThrowsException <NotImplementedException>(() =>
                                                             variantTest.VariantParameter(14, 1.0m));        // Decimal
        }
Пример #6
0
        public void DotNetInterfaceByParameter()
        {
            var variantTest             = new TestLib.VariantTests();
            IDotNetInterface iinterface = new DotNetInterfaceImplementation();
            dynamic          d          = variantTest.VariantInterface(iinterface);

            Assert.AreEqual(nameof(DotNetInterfaceImplementation), d);
        }