tests: add test for serializing system property with correct expected value based on whether given system messages or just a system message.
This commit is contained in:
@@ -322,6 +322,137 @@ public class MessageRequestTests : SerializationTest
|
|||||||
JsonAssert.Equal(_testJson, actual);
|
JsonAssert.Equal(_testJson, actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void JsonSerialization_WhenSerializedAndSystemMessagesAndSystemAreNull_ItShouldNotHaveSystemProperty()
|
||||||
|
{
|
||||||
|
var messageRequest = new MessageRequest(
|
||||||
|
model: AnthropicModels.Claude3Haiku,
|
||||||
|
messages: [
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
Role = MessageRole.User,
|
||||||
|
Content = [new TextContent("Hello!")]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
var expected = @"{
|
||||||
|
""model"": ""claude-3-haiku-20240307"",
|
||||||
|
""messages"": [
|
||||||
|
{
|
||||||
|
""role"": ""user"",
|
||||||
|
""content"": [
|
||||||
|
{
|
||||||
|
""text"": ""Hello!"",
|
||||||
|
""type"": ""text""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
""max_tokens"": 1024,
|
||||||
|
""stop_sequences"": [],
|
||||||
|
""temperature"": 0.0,
|
||||||
|
""stream"": false
|
||||||
|
}";
|
||||||
|
|
||||||
|
var actual = Serialize(messageRequest);
|
||||||
|
|
||||||
|
JsonAssert.Equal(expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void JsonSerialization_WhenSerializedAndSystemMessagesAreProvided_ItShouldUseSystemMessagesForHaveSystemProperty()
|
||||||
|
{
|
||||||
|
var messageRequest = new MessageRequest(
|
||||||
|
model: AnthropicModels.Claude3Haiku,
|
||||||
|
messages: [
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
Role = MessageRole.User,
|
||||||
|
Content = [new TextContent("Hello!")]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
systemMessages: [
|
||||||
|
new TextContent("You are a helpful assistant.")
|
||||||
|
],
|
||||||
|
system: "test-system"
|
||||||
|
);
|
||||||
|
|
||||||
|
var expected = @"{
|
||||||
|
""model"": ""claude-3-haiku-20240307"",
|
||||||
|
""system"": [
|
||||||
|
{
|
||||||
|
""text"": ""You are a helpful assistant."",
|
||||||
|
""type"": ""text""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
""messages"": [
|
||||||
|
{
|
||||||
|
""role"": ""user"",
|
||||||
|
""content"": [
|
||||||
|
{
|
||||||
|
""text"": ""Hello!"",
|
||||||
|
""type"": ""text""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
""max_tokens"": 1024,
|
||||||
|
""stop_sequences"": [],
|
||||||
|
""temperature"": 0.0,
|
||||||
|
""stream"": false
|
||||||
|
}";
|
||||||
|
|
||||||
|
var actual = Serialize(messageRequest);
|
||||||
|
|
||||||
|
JsonAssert.Equal(expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void JsonSerialization_WhenSerializedAndSystemMessageIsProvided_ItShouldUseSystemMessageForHaveSystemProperty()
|
||||||
|
{
|
||||||
|
var messageRequest = new MessageRequest(
|
||||||
|
model: AnthropicModels.Claude3Haiku,
|
||||||
|
messages: [
|
||||||
|
new()
|
||||||
|
{
|
||||||
|
Role = MessageRole.User,
|
||||||
|
Content = [new TextContent("Hello!")]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
system: "test-system"
|
||||||
|
);
|
||||||
|
|
||||||
|
var expected = @"{
|
||||||
|
""model"": ""claude-3-haiku-20240307"",
|
||||||
|
""system"": [
|
||||||
|
{
|
||||||
|
""text"": ""test-system"",
|
||||||
|
""type"": ""text""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
""messages"": [
|
||||||
|
{
|
||||||
|
""role"": ""user"",
|
||||||
|
""content"": [
|
||||||
|
{
|
||||||
|
""text"": ""Hello!"",
|
||||||
|
""type"": ""text""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
""max_tokens"": 1024,
|
||||||
|
""stop_sequences"": [],
|
||||||
|
""temperature"": 0.0,
|
||||||
|
""stream"": false
|
||||||
|
}";
|
||||||
|
|
||||||
|
var actual = Serialize(messageRequest);
|
||||||
|
|
||||||
|
JsonAssert.Equal(expected, actual);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void JsonDeserialization_WhenDeserialized_ItShouldHaveExpectedShape()
|
public void JsonDeserialization_WhenDeserialized_ItShouldHaveExpectedShape()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user