public void Serialization_CriterionDeserialize() { var criterion = Json.Deserialize <CriterionResponse>(criterionJson); Assert.Equal("cjb0ln006esruzz6gymu12c6f", criterion.Id); Assert.Equal("9hk14dln35", criterion.ApplicationId); Assert.Equal("criterion name", criterion.Name); Assert.Equal("criterion description", criterion.Description); Assert.Equal("key content", criterion.Key); Assert.Equal(CriterionEvaluationType.Standard, criterion.Evaluation.Type); Assert.Equal(CriterionOperator.GreaterOrEqual, criterion.Evaluation.Operator); Assert.Equal(5, criterion.Evaluation.Threshold); Assert.Equal(DateTimeOffset.Parse("2017-12-10T10:01:08.55"), criterion.Meta.Created.Value); // meta custom fields Assert.Equal("is the criterion working?", criterion.Meta.GetCustomField <string>("custom criterion")); Assert.Equal(198231, criterion.Meta.GetCustomField <int>("custom int field")); Assert.Equal("the criterion in our database", criterion.Meta.GetCustomField <JToken>("custom untyped object field")["criterion-db-description"].Value <string>()); Assert.Equal("criterion working!", criterion.Meta.GetCustomField <JToken>("custom untyped object field")["object field"]["string field"]); SerializableTestPerson person = criterion.Meta.GetCustomField <SerializableTestPerson>("custom typed field"); Assert.Equal("John Doe", person.Name); Assert.Equal(35, person.Age); }
public void Serialization_AchievementDeserialize() { var achievement = Json.Deserialize <AchievementResponse>(AchievementJson); Assert.Equal("cj1sp5nse02j9zkruwhb3zwik", achievement.Id); Assert.Equal("y70ujss", achievement.ApplicationId); Assert.Equal("Anger Management", achievement.Name); Assert.Equal("Relentlessly punish inanimate objects", achievement.Description); // eval tree Assert.Equal("AND", achievement.EvalTree.Condition); Assert.Equal(new string[] { "cirjx77kw0004113jlb0h5l51" }, achievement.EvalTree.Criteria); Assert.Empty(achievement.EvalTree.Groups); // options Assert.True(achievement.Options.Suspended); // awards Assert.Equal(new string[] { "ciqjx77kw2684513jlb0p5l51" }, achievement.Awards); // meta Assert.Equal(System.DateTimeOffset.Parse("2016-08-07T01:18:19.061Z"), achievement.Meta.Created.Value); Assert.Equal("https://example.com/image", achievement.Meta.Icon); // meta custom fields Assert.Equal("my custom field string value", achievement.Meta.GetCustomField <string>("custom string field")); Assert.Equal(5, achievement.Meta.GetCustomField <int>("custom int field")); Assert.Equal("hello!", achievement.Meta.GetCustomField <JToken>("custom untyped object field")["string field"].Value <string>()); Assert.Equal("hello again!", achievement.Meta.GetCustomField <JToken>("custom untyped object field")["object field"]["string field"]); SerializableTestPerson person = achievement.Meta.GetCustomField <SerializableTestPerson>("custom typed field"); Assert.Equal("John Doe", person.Name); Assert.Equal(35, person.Age); }
public void Serialization_AccountDeserialize() { var account = Json.Deserialize <AccountResponse>(accountJson); Assert.Equal("3eknqblf51", account.Id); Assert.Equal(@"Account name with sybmols !@#$%^&*()_+", account.Name); Assert.Equal("Account description content", account.Description); Assert.Equal(DateTimeOffset.Parse("2017-11-19T20:08:33.48"), account.Meta.Created.Value); // meta custom fields Assert.Equal("DAEA9D61-1297-41E2-9F14-E41B67C3EEF2", account.Meta.GetCustomField <string>("custom account id")); Assert.Equal(2384793, account.Meta.GetCustomField <int>("custom int field")); Assert.Equal("some account description", account.Meta.GetCustomField <JToken>("custom untyped object field")["string field"].Value <string>()); Assert.Equal("an account", account.Meta.GetCustomField <JToken>("custom untyped object field")["object field"]["string field"]); SerializableTestPerson person = account.Meta.GetCustomField <SerializableTestPerson>("custom typed field"); Assert.Equal("John Doe", person.Name); Assert.Equal(35, person.Age); }
public void Serialization_ApplicationDeserialize() { var application = Json.Deserialize <ApplicationResponse>(applicationJson); Assert.Equal("9hk14dln35", application.Id); Assert.Equal("3eknqblf51", application.AccountId); Assert.Equal("vagabond volcano", application.Name); Assert.Equal("Application description content", application.Description); Assert.Equal(DateTimeOffset.Parse("2017-11-19T20:08:59.62"), application.Meta.Created.Value); // meta custom fields Assert.Equal("my app 1!2@3#4$5%", application.Meta.GetCustomField <string>("custom application string")); Assert.Equal(-982713, application.Meta.GetCustomField <int>("custom int field")); Assert.Equal("my application", application.Meta.GetCustomField <JToken>("custom untyped object field")["string field"].Value <string>()); Assert.Equal(12903812, application.Meta.GetCustomField <JToken>("custom untyped object field")["object field"]["int field"]); SerializableTestPerson person = application.Meta.GetCustomField <SerializableTestPerson>("custom typed field"); Assert.Equal("John Doe", person.Name); Assert.Equal(35, person.Age); }
public void Serialization_AwardDeserialize() { var award = Json.Deserialize <AwardResponse>(awardJson); Assert.Equal("cj1syiekxnxrb6kovpsxglcdx", award.Id); Assert.Equal("y70ujss", award.ApplicationId); Assert.Equal("20 Gold", award.Name); Assert.Equal("20 Gold reward from the king!", award.Description); Assert.Equal(20, award.Data["gold"]); Assert.True((bool)award.Data["otherNestedData"]["bool"]); // meta custom fields Assert.Equal("DAEA9D61-1297-41E2-9F14-E41B67C3EEF2", award.Meta.GetCustomField <string>("custom award id in database")); Assert.Equal(5, award.Meta.GetCustomField <int>("custom int field")); Assert.Equal("the award name", award.Meta.GetCustomField <JToken>("custom untyped object field")["string field"].Value <string>()); Assert.Equal("got an award!", award.Meta.GetCustomField <JToken>("custom untyped object field")["object field"]["string field"]); SerializableTestPerson person = award.Meta.GetCustomField <SerializableTestPerson>("custom typed field"); Assert.Equal("John Doe", person.Name); Assert.Equal(35, person.Age); }