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)); }