docs: work on README

This commit is contained in:
Stevan Freeborn
2024-07-03 16:57:27 -05:00
parent bd8e4c70ab
commit dd380c9253
41 changed files with 847 additions and 523 deletions
@@ -0,0 +1,120 @@
namespace AnthropicClient.Tests.Unit.Models;
public class MessageResponseTests : SerializationTest
{
[Fact]
public void Constructor_WhenCalled_ShouldInitializeProperties()
{
var expectedId = "id";
var expectedModel = "model";
var expectedRole = "role";
var expectedStopReason = "stop reason";
var expectedStopSequence = "stop sequence";
var expectedType = "type";
var expectedUsage = new Usage
{
InputTokens = 1,
OutputTokens = 2
};
var expectedContent = new List<Content>
{
new TextContent("text content"),
};
var messageResponse = new MessageResponse
{
Id = expectedId,
Model = expectedModel,
Role = expectedRole,
StopReason = expectedStopReason,
StopSequence = expectedStopSequence,
Type = expectedType,
Usage = expectedUsage,
Content = expectedContent
};
messageResponse.Id.Should().Be(expectedId);
messageResponse.Model.Should().Be(expectedModel);
messageResponse.Role.Should().Be(expectedRole);
messageResponse.StopReason.Should().Be(expectedStopReason);
messageResponse.StopSequence.Should().Be(expectedStopSequence);
messageResponse.Type.Should().Be(expectedType);
messageResponse.Usage.Should().BeEquivalentTo(expectedUsage);
messageResponse.Content.Should().BeEquivalentTo(expectedContent);
}
[Fact]
public void JsonSerialization_WhenCalled_ItShouldSerializeCorrectly()
{
var expectedJson = @"{
""id"": ""id"",
""model"": ""model"",
""role"": ""role"",
""stop_reason"": ""stop reason"",
""stop_sequence"": ""stop sequence"",
""type"": ""type"",
""usage"": { ""input_tokens"": 1, ""output_tokens"": 2 },
""content"": [
{ ""text"": ""text content"", ""type"": ""text"" }
]
}";
var messageResponse = new MessageResponse
{
Id = "id",
Model = "model",
Role = "role",
StopReason = "stop reason",
StopSequence = "stop sequence",
Type = "type",
Usage = new Usage
{
InputTokens = 1,
OutputTokens = 2
},
Content =
[
new TextContent("text content"),
]
};
var actual = Serialize(messageResponse);
JsonAssert.Equal(expectedJson, actual);
}
[Fact]
public void JsonDeserialization_WhenCalled_ItShouldDeserializeCorrectly()
{
var json = @"{
""id"": ""id"",
""model"": ""model"",
""role"": ""role"",
""stop_reason"": ""stop reason"",
""stop_sequence"": ""stop sequence"",
""type"": ""type"",
""usage"": { ""input_tokens"": 1, ""output_tokens"": 2 },
""content"": [
{ ""text"": ""text content"", ""type"": ""text"" }
]
}";
var messageResponse = Deserialize<MessageResponse>(json);
messageResponse!.Id.Should().Be("id");
messageResponse.Model.Should().Be("model");
messageResponse.Role.Should().Be("role");
messageResponse.StopReason.Should().Be("stop reason");
messageResponse.StopSequence.Should().Be("stop sequence");
messageResponse.Type.Should().Be("type");
messageResponse.Usage.Should().BeEquivalentTo(new Usage
{
InputTokens = 1,
OutputTokens = 2
});
messageResponse.Content.Should().BeEquivalentTo(new List<Content>
{
new TextContent("text content"),
});
}
}