コード例 #1
0
        public void CheckDateTime()
        {
            MemoryStream buffer        = new MemoryStream();
            IFieldWriter writer        = new FieldWriter(buffer);
            IFieldReader reader        = new FieldReader(buffer);
            DateTime     referenceTime = DateTime.Now; //we convert to UTC during serialization, we want local time.

            buffer.Position = 0;
            writer.Write(referenceTime);
            Assert.AreEqual(12, buffer.Position);
            writer.Write(referenceTime.AddTicks(1));
            Assert.AreEqual(16, buffer.Position);
            writer.Write(referenceTime.AddMilliseconds(50));
            Assert.AreEqual(22, buffer.Position);
            writer.Write(referenceTime.AddHours(1));
            Assert.AreEqual(31, buffer.Position);
            writer.Write(referenceTime.AddDays(1));
            Assert.AreEqual(40, buffer.Position);
            buffer.Position = 0;
            Assert.AreEqual(referenceTime, reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddTicks(1), reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddMilliseconds(50), reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddHours(1), reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddDays(1), reader.ReadDateTime());
        }
コード例 #2
0
        public void CheckDateTime()
        {
            MemoryStream buffer        = new MemoryStream();
            IFieldWriter writer        = new FieldWriter(buffer);
            IFieldReader reader        = new FieldReader(buffer);
            var          referenceTime = new DateTime(1973, 6, 25, 8, 30, 12, DateTimeKind.Utc); //UTC to ensure tests are portable

            buffer.Position = 0;
            writer.Write(referenceTime);
            Assert.AreEqual(11, buffer.Position,
                            "Serialized value isn't the expected length.  Position is: {1}, expected {0}.\r\nSerialized Value: {2}",
                            buffer.Position, 11, buffer.ToArray().ToDisplayString());

            writer.Write(referenceTime.AddTicks(1));
            Assert.AreEqual(14, buffer.Position);
            writer.Write(referenceTime.AddMilliseconds(50));
            Assert.AreEqual(19, buffer.Position);
            writer.Write(referenceTime.AddHours(1));
            Assert.AreEqual(27, buffer.Position);
            writer.Write(referenceTime.AddDays(1));
            Assert.AreEqual(35, buffer.Position);
            buffer.Position = 0;
            Assert.AreEqual(referenceTime, reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddTicks(1), reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddMilliseconds(50), reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddHours(1), reader.ReadDateTime());
            Assert.AreEqual(referenceTime.AddDays(1), reader.ReadDateTime());
        }