Example #1
0
        public unsafe void DateTimeVariantTest()
        {
            var     prettyDate = new DateTime(635875488000000000);
            Variant testValue  = prettyDate;

            Assert.AreEqual(typeof(DateTime), testValue.ToObject().GetType());
            Assert.AreEqual(prettyDate.ToString(), testValue.ToObject().ToString());

            // Interpret bits as a long for comparison. Explicit casting is a type conversion under c#
            // so instead typecast to ptr.
            var serializedValue = testValue.ConvertToGuid();

            Assert.AreEqual(prettyDate.ToFileTimeUtc(), *(long *)&serializedValue, "Binary form of Variant is not correct.");
        }