public void MonthStampCompressor()
        {
            var months = new List <MonthStamp>();
            var month  = new MonthStamp(1, 1);

            do
            {
                months.Add(month);
                month = month.AddMonths(1);
            } while (month.Year <= 5000);
            using (var ms = new MemoryStream()) {
                var writer = ms.AsIWriteBytes();
                foreach (var x in months)
                {
                    writer.WriteCompressedMonthStamp(x);
                }
                ms.Seek(0, SeekOrigin.Begin);
                var reader  = ms.AsIReadBytes();
                var months2 = new List <MonthStamp>();
                for (var i = 0; i < months.Count; i++)
                {
                    months2.Add(reader.ReadCompressedMonthStamp());
                }
                Assert.IsTrue(months.SequenceEqual(months2));
            }
        }
Example #2
0
 public static void WriteCompressedMonthStamp(this IWriteBytes stream, MonthStamp value)
 {
     stream.WriteCompressedUInt((uint)(value.Year * 12 + value.Month - 1));
 }