public void ShouldDeserializeDepartment() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"Department\": { \"ID\": 1, \"Name\": \"IT\" } }"); Assert.That(deserialized.Department.ID, Is.EqualTo(1)); Assert.That(deserialized.Department.Name, Is.EqualTo("IT")); }
public void ShouldDeserializeRecord() { var original = new TestRecord(1, EmployeeType.Values.Permanent); var serialized = XtiSerializer.Serialize(original); var deserialized = XtiSerializer.Deserialize(serialized, () => new TestRecord(0, EmployeeType.Values.None)); Assert.That(deserialized, Is.EqualTo(original)); }
public void ShouldOverrideWithJsonConverterAttribute() { var key = new AnotherTestValue(23); var serialized = XtiSerializer.Serialize(key); var deserialized = XtiSerializer.Deserialize(serialized, () => new AnotherTestValue(0)); Assert.That(deserialized, Is.EqualTo(key)); }
private static async Task <PageContextRecord> execute(IServiceProvider services) { var pageContext = services.GetRequiredService <IPageContext>(); var serialized = await pageContext.Serialize(); var deserialized = XtiSerializer.Deserialize <PageContextRecord>(serialized); return(deserialized); }
private static async Task <LogEventModel> getEvent(TestInput input) { var eventFiles = input.CurrentAction.TempLog?.LogEventFiles(input.Clock.Now().AddMinutes(1)).ToArray() ?? new ITempLogFile[0]; Assert.That(eventFiles.Length, Is.EqualTo(1), "Should log event"); var serializedEvent = await eventFiles[0].Read(); var evt = XtiSerializer.Deserialize <LogEventModel>(serializedEvent); return(evt); }
public void ShouldConvertFromJson() { var timeObj = new TimeObject { Time = new Time(15, 45) }; var serialized = XtiSerializer.Serialize(timeObj); var deserialized = XtiSerializer.Deserialize <TimeObject>(serialized); Assert.That(deserialized.Time, Is.EqualTo(new Time(15, 45))); }
private static async Task <StartRequestModel> getStartRequest(TestInput input) { var requestFiles = input.CurrentAction.TempLog?.StartRequestFiles(input.Clock.Now().AddMinutes(1)).ToArray() ?? new ITempLogFile[0]; Assert.That(requestFiles.Length, Is.EqualTo(1), "Should log end of request"); var serializedRequest = await requestFiles[0].Read(); var request = XtiSerializer.Deserialize <StartRequestModel>(serializedRequest); return(request); }
private static async Task <StartSessionModel[]> getStartSessions(TestInput input) { var sessionFiles = input.CurrentAction.TempLog?.StartSessionFiles(input.Clock.Now().AddMinutes(1)) ?? new ITempLogFile[0]; var sessions = new List <StartSessionModel>(); foreach (var sessionFile in sessionFiles) { var serializedSession = await sessionFile.Read(); var session = XtiSerializer.Deserialize <StartSessionModel>(serializedSession); sessions.Add(session); } return(sessions.ToArray()); }
public void ShouldDeserializeNumericValue() { var employee = new Employee { Name = "Xartogg", EmployeeType = EmployeeType.Values.Permanent, HourlyWages = 12.34M }; var serialized = XtiSerializer.Serialize(employee); var deserialized = XtiSerializer.Deserialize <Employee>(serialized); Assert.That(deserialized.EmployeeType, Is.EqualTo(EmployeeType.Values.Permanent)); Assert.That(deserialized.Name, Is.EqualTo("Xartogg")); Assert.That(deserialized.HourlyWages, Is.EqualTo(12.34)); }
public async Task ShouldCreateSessionWithAnonymousUser() { var input = await setup(); input.UserContext.SetCurrentUser(AppUserName.Anon); await input.GetAsync("/Fake/Current/Controller1/Action1"); var anonUser = input.UserContext.User(AppUserName.Anon); var sessionFiles = input.CurrentAction.TempLog?.StartSessionFiles(input.Clock.Now().AddMinutes(1)).ToArray() ?? new ITempLogFile[0]; Assert.That(sessionFiles.Length, Is.EqualTo(1), "Should use session for authenticated user"); var serializedSession = await sessionFiles[0].Read(); var session = XtiSerializer.Deserialize <StartSessionModel>(serializedSession); Assert.That(session.UserName, Is.EqualTo(anonUser.UserName().Value), "Should create session with anonymous user"); }
public void Load() { var cookieText = httpContextAccessor.HttpContext?.Request.Cookies[cookieName]; if (string.IsNullOrWhiteSpace(cookieText)) { SessionKey = ""; SessionExpirationTime = DateTimeOffset.MinValue; RequesterKey = ""; } else { var unprotectedText = new DecryptedValue(protector, cookieText).Value(); var info = XtiSerializer.Deserialize <AnonInfo>(unprotectedText); SessionKey = info.SessionKey; SessionExpirationTime = info.SessionExpirationTime; RequesterKey = info.RequesterKey; } }
public static AggregateSchedule Deserialize(string serialized) => new AggregateSchedule ( XtiSerializer.Deserialize <ScheduleOptions>(serialized).ToSchedules() );
public void ShouldDeserializeNullStringAsEmptyString() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"EmployeeType\": \"Permanent\", \"Name\": null }"); Assert.That(deserialized.Name, Is.EqualTo("")); }
public void ShouldDeserializeNumericValueFromString() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"EmployeeType\": \"Permanent\" }"); Assert.That(deserialized.EmployeeType, Is.EqualTo(EmployeeType.Values.Permanent)); }
public void ShouldDeserializeNumericValueFromNumber() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"EmployeeType\": 10 }"); Assert.That(deserialized.EmployeeType, Is.EqualTo(EmployeeType.Values.Temp)); }
public void ShouldDeserializeNullStringAsEmptyString() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"Department\": { \"ID\": 1, \"Name\": null } }"); Assert.That(deserialized.Department.Name, Is.EqualTo("")); }
public void ShouldDeserializeNullAsNewObject() { var deserialized = XtiSerializer.Deserialize <Employee>("null"); Assert.That(deserialized.Name, Is.EqualTo("")); }
public void ShouldDeserializeNullNumericValueAsDefault() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"EmployeeType\": null }"); Assert.That(deserialized.EmployeeType, Is.EqualTo(EmployeeType.Values.GetDefault())); }
public void ShouldDeserializeNullDepartmentAsNonNull() { var deserialized = XtiSerializer.Deserialize <Employee>("{ \"Department\": null }"); Assert.That(deserialized.Department, Is.Not.Null); }