53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
namespace AnthropicClient.Tests.Unit.Models;
|
|
|
|
public class MessageDeltaEventDataTests : SerializationTest
|
|
{
|
|
private readonly string _testJson = @"{
|
|
""type"": ""message_delta"",
|
|
""delta"": {
|
|
""stop_reason"": ""max_tokens"",
|
|
""stop_sequence"": ""max_tokens""
|
|
},
|
|
""usage"": {
|
|
""input_tokens"": 1,
|
|
""output_tokens"": 1
|
|
}
|
|
}";
|
|
|
|
[Fact]
|
|
public void Constructor_WhenCalled_ItShouldInitializeProperties()
|
|
{
|
|
var expectedDelta = new MessageDelta("max_tokens", "max_tokens");
|
|
var expectedUsage = new Usage { InputTokens = 1, OutputTokens = 1 };
|
|
|
|
var messageDeltaEventData = new MessageDeltaEventData(expectedDelta, expectedUsage);
|
|
|
|
messageDeltaEventData.Delta.Should().BeSameAs(expectedDelta);
|
|
messageDeltaEventData.Usage.Should().BeSameAs(expectedUsage);
|
|
}
|
|
|
|
[Fact]
|
|
public void JsonSerialization_WhenSerialized_ItShouldHaveExpectedShape()
|
|
{
|
|
var expectedDelta = new MessageDelta("max_tokens", "max_tokens");
|
|
var expectedUsage = new Usage { InputTokens = 1, OutputTokens = 1 };
|
|
|
|
var messageDeltaEventData = new MessageDeltaEventData(expectedDelta, expectedUsage);
|
|
|
|
var actualJson = Serialize(messageDeltaEventData);
|
|
|
|
JsonAssert.Equal(_testJson, actualJson);
|
|
}
|
|
|
|
[Fact]
|
|
public void JsonDeserialization_WhenDeserialized_ItShouldHaveExpectedValues()
|
|
{
|
|
var expectedDelta = new MessageDelta("max_tokens", "max_tokens");
|
|
var expectedUsage = new Usage { InputTokens = 1, OutputTokens = 1 };
|
|
|
|
var messageDeltaEventData = Deserialize<MessageDeltaEventData>(_testJson);
|
|
|
|
messageDeltaEventData!.Delta.Should().BeEquivalentTo(expectedDelta);
|
|
messageDeltaEventData.Usage.Should().BeEquivalentTo(expectedUsage);
|
|
}
|
|
} |