2025-06-15 11:49:48 -05:00
|
|
|
namespace AnthropicClient.Tests.Unit.Models;
|
|
|
|
|
|
2025-06-22 10:52:14 -05:00
|
|
|
public class ContentBlockLocationCitationTests : SerializationTest
|
2025-06-15 11:49:48 -05:00
|
|
|
{
|
2025-06-22 10:52:14 -05:00
|
|
|
private readonly string _testJson = @"{
|
|
|
|
|
""type"": ""content_block_location"",
|
|
|
|
|
""cited_text"": ""cited text"",
|
|
|
|
|
""document_index"": 1,
|
|
|
|
|
""document_title"": ""document title"",
|
|
|
|
|
""start_block_index"": 2,
|
|
|
|
|
""end_block_index"": 3
|
|
|
|
|
}";
|
|
|
|
|
|
2025-06-15 11:49:48 -05:00
|
|
|
[Fact]
|
|
|
|
|
public void Constructor_WhenCalled_ItShouldSetProperties()
|
|
|
|
|
{
|
|
|
|
|
var result = new ContentBlockLocationCitation();
|
|
|
|
|
|
|
|
|
|
result.Type.Should().Be("content_block_location");
|
|
|
|
|
result.CitedText.Should().BeEmpty();
|
|
|
|
|
result.DocumentIndex.Should().Be(0);
|
|
|
|
|
result.DocumentTitle.Should().BeEmpty();
|
|
|
|
|
result.StartBlockIndex.Should().Be(0);
|
|
|
|
|
result.EndBlockIndex.Should().Be(0);
|
|
|
|
|
}
|
2025-06-22 10:52:14 -05:00
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void JsonSerialization_WhenSerialized_ItShouldHaveExpectedShape()
|
|
|
|
|
{
|
|
|
|
|
var citation = new ContentBlockLocationCitation
|
|
|
|
|
{
|
|
|
|
|
Type = "content_block_location",
|
|
|
|
|
CitedText = "cited text",
|
|
|
|
|
DocumentIndex = 1,
|
|
|
|
|
DocumentTitle = "document title",
|
|
|
|
|
StartBlockIndex = 2,
|
|
|
|
|
EndBlockIndex = 3
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var result = Serialize<Citation>(citation);
|
|
|
|
|
|
|
|
|
|
JsonAssert.Equal(_testJson, result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void JsonDeserialization_WhenDeserialized_ItShouldHaveExpectedShape()
|
|
|
|
|
{
|
|
|
|
|
var citation = Deserialize<Citation>(_testJson);
|
|
|
|
|
|
|
|
|
|
var contentBlockLocationCitation = citation.As<ContentBlockLocationCitation>();
|
|
|
|
|
contentBlockLocationCitation!.Type.Should().Be("content_block_location");
|
|
|
|
|
contentBlockLocationCitation.CitedText.Should().Be("cited text");
|
|
|
|
|
contentBlockLocationCitation.DocumentIndex.Should().Be(1);
|
|
|
|
|
contentBlockLocationCitation.DocumentTitle.Should().Be("document title");
|
|
|
|
|
contentBlockLocationCitation.StartBlockIndex.Should().Be(2);
|
|
|
|
|
contentBlockLocationCitation.EndBlockIndex.Should().Be(3);
|
|
|
|
|
}
|
2025-06-15 11:49:48 -05:00
|
|
|
}
|