Example #1
0
        public void Lz4SafeFormatsToStream()
        {
            var test = TestResourceFactory.CreateRandom() as MockClassC;
            var zip = new LZ4ZipFormatter(TestResourceFactory.CreateBsonFormatter());

            Stream formatted;

            Assert.IsTrue(zip.TryFormatObj(test, out formatted));

            MockClassA raw;

            Assert.IsTrue(zip.TryUnformatObj<MockClassA>(formatted, out raw));

            var unformatted = raw as MockClassC;

            Assert.AreEqual(unformatted.Id, test.Id);
            Assert.AreEqual(unformatted.Name, test.Name);
            Assert.AreEqual(unformatted.GetSomeCheckSum[0], test.GetSomeCheckSum[0]);
            Assert.AreEqual(unformatted.Location.X, test.Location.X);
            Assert.AreEqual(unformatted.Location.Y, test.Location.Y);
            Assert.AreEqual(unformatted.Location.Z, test.Location.Z);
            Assert.AreEqual(unformatted.Location.W, test.Location.W);
            Assert.AreEqual(unformatted.ReferenceCode, test.ReferenceCode);
            Assert.AreEqual(unformatted.ReplicationID, test.ReplicationID);

            var invalid = Encoding.UTF8.GetBytes("{ this is invalid.");

            //Check false conditions.
            Assert.IsFalse(zip.TryFormatObj(default(MockClassA), out formatted));
            Assert.IsFalse(zip.TryUnformatObj((byte[])null, out raw));
            Assert.IsFalse(zip.TryUnformatObj(invalid, out raw));
        }