Further fixes for compatibility with Microsoft.Extensions repo. (#555)

This commit is contained in:
westey
2025-08-29 15:43:16 +00:00
committed by GitHub
parent 0acc18805a
commit 1ed46e41a7
14 changed files with 127 additions and 135 deletions
@@ -62,7 +62,7 @@ public class InMemoryChatMessageStoreTests
{
var newStore = new InMemoryChatMessageStore();
var emptyObject = JsonSerializer.Deserialize<JsonElement>("{}");
var emptyObject = JsonSerializer.Deserialize<JsonElement>("{}", TestJsonSerializerContext.Default.JsonElement);
await newStore.DeserializeStateAsync(emptyObject);
@@ -129,7 +129,9 @@ public class InMemoryChatMessageStoreTests
{
// Arrange
var store = new InMemoryChatMessageStore();
var stateWithEmptyMessages = JsonSerializer.SerializeToElement(new { Messages = new List<ChatMessage>() });
var stateWithEmptyMessages = JsonSerializer.SerializeToElement(
new Dictionary<string, object> { ["Messages"] = new List<ChatMessage>() },
TestJsonSerializerContext.Default.IDictionaryStringObject);
// Act
await store.DeserializeStateAsync(stateWithEmptyMessages);
@@ -143,7 +145,9 @@ public class InMemoryChatMessageStoreTests
{
// Arrange
var store = new InMemoryChatMessageStore();
var stateWithNullMessages = JsonSerializer.SerializeToElement(new { Messages = (List<ChatMessage>?)null });
var stateWithNullMessages = JsonSerializer.SerializeToElement(
new Dictionary<string, object> { ["Messages"] = null! },
TestJsonSerializerContext.Default.DictionaryStringObject);
// Act
await store.DeserializeStateAsync(stateWithNullMessages);
@@ -162,8 +166,10 @@ public class InMemoryChatMessageStoreTests
new(ChatRole.User, "User message"),
new(ChatRole.Assistant, "Assistant message")
};
var state = new { Messages = messages };
var serializedState = JsonSerializer.SerializeToElement(state);
var state = new Dictionary<string, object> { ["Messages"] = messages };
var serializedState = JsonSerializer.SerializeToElement(
state,
TestJsonSerializerContext.Default.DictionaryStringObject);
// Act
await store.DeserializeStateAsync(serializedState);