public void TryRetrieveState_ReturnsStateWhenItExists() { // Arrange var applicationState = new PersistentComponentState(new Dictionary <string, byte[]>(), new List <Func <Task> >()); var existingState = new Dictionary <string, byte[]> { ["MyState"] = JsonSerializer.SerializeToUtf8Bytes(new byte[] { 1, 2, 3, 4 }) }; // Act applicationState.InitializeExistingState(existingState); // Assert Assert.True(applicationState.TryTakeFromJson <byte[]>("MyState", out var existing)); Assert.Equal(new byte[] { 1, 2, 3, 4 }, existing); Assert.False(applicationState.TryTakeFromJson <byte[]>("MyState", out var gone)); }
public void TryRetrieveFromJson_NullValue() { // Arrange var serialized = JsonSerializer.SerializeToUtf8Bytes <byte[]>(null); var existingState = new Dictionary <string, byte[]>() { ["MyState"] = serialized }; var applicationState = new PersistentComponentState(new Dictionary <string, byte[]>(), new List <Func <Task> >()); applicationState.InitializeExistingState(existingState); // Act Assert.True(applicationState.TryTakeFromJson <byte[]>("MyState", out var stored)); // Assert Assert.Null(stored); Assert.False(applicationState.TryTakeFromJson <byte[]>("MyState", out _)); }
public void TryRetrieveFromJson_DeserializesTheDataFromJson() { // Arrange var myState = new byte[] { 1, 2, 3, 4 }; var serialized = JsonSerializer.SerializeToUtf8Bytes(myState); var existingState = new Dictionary <string, byte[]>() { ["MyState"] = serialized }; var applicationState = new PersistentComponentState(new Dictionary <string, byte[]>(), new List <Func <Task> >()); applicationState.InitializeExistingState(existingState); // Act Assert.True(applicationState.TryTakeFromJson <byte[]>("MyState", out var stored)); // Assert Assert.Equal(myState, stored); Assert.False(applicationState.TryTakeFromJson <byte[]>("MyState", out _)); }