public void InterfaceImplementation() { var variantTest = new TestLib.VariantTests(); dynamic d = variantTest.VariantInterface(new InterfaceClass()); Assert.AreEqual(nameof(InterfaceClass), d); }
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)); }
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); }
public void DotNetClassByParameter() { var variantTest = new TestLib.VariantTests(); dynamic d = variantTest.VariantInterface(new DotNetClass()); Assert.AreEqual(nameof(DotNetClass), d); }
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 }
public void DotNetInterfaceByParameter() { var variantTest = new TestLib.VariantTests(); IDotNetInterface iinterface = new DotNetInterfaceImplementation(); dynamic d = variantTest.VariantInterface(iinterface); Assert.AreEqual(nameof(DotNetInterfaceImplementation), d); }