Example #1
0
        public void Does_deserialize_LicenseKey()
        {
            var key = new LicenseKey {
                Name   = "The Name",
                Ref    = "1000",
                Type   = LicenseType.Business,
                Expiry = new DateTime(2001, 01, 01),
                Meta   = (long)(LicenseMeta.Subscription | LicenseMeta.Cores),
            };

            var jsv = key.ToJsv();

            Assert.That(jsv, Does.Contain($"eta:" + (int)key.Meta));
            jsv.Print();

            var fromKey = jsv.FromJsv <LicenseKey>();

            Assert.That(fromKey.Name, Is.EqualTo(key.Name));
            Assert.That(fromKey.Ref, Is.EqualTo(key.Ref));
            Assert.That(fromKey.Type, Is.EqualTo(key.Type));
            Assert.That(fromKey.Expiry, Is.EqualTo(key.Expiry));
            Assert.That(fromKey.Meta, Is.EqualTo(key.Meta));

            var oldKey = jsv.FromJsv <OldLicenseKey>();

            Assert.That(oldKey.Name, Is.EqualTo(key.Name));
            Assert.That(oldKey.Ref, Is.EqualTo(key.Ref));
            Assert.That(oldKey.Type, Is.EqualTo(key.Type));
            Assert.That(oldKey.Expiry, Is.EqualTo(key.Expiry));

            var oldJsv = oldKey.ToJsv();

            fromKey = oldJsv.FromJsv <LicenseKey>();
            Assert.That(fromKey.Name, Is.EqualTo(key.Name));
            Assert.That(fromKey.Ref, Is.EqualTo(key.Ref));
            Assert.That(fromKey.Type, Is.EqualTo(key.Type));
            Assert.That(fromKey.Expiry, Is.EqualTo(key.Expiry));
            Assert.That(fromKey.Meta, Is.EqualTo(0));
        }