Implement file support with models, interface, and comprehensive tests

Co-authored-by: StevanFreeborn <65925598+StevanFreeborn@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-07-15 00:39:10 +00:00
co-authored by StevanFreeborn
parent 5d5b60486f
commit 84ce38a586
12 changed files with 784 additions and 0 deletions
@@ -0,0 +1,52 @@
namespace AnthropicClient.Tests.Unit.Models;
public class FileDeleteResponseTests : SerializationTest
{
private const string SampleJson = @"{
""type"": ""file_deleted"",
""id"": ""file_abc123"",
""deleted"": true
}";
[Fact]
public void Constructor_WhenCalled_ItShouldReturnAnInstanceWithPropertiesSet()
{
var response = new FileDeleteResponse();
response.Type.Should().Be("file_deleted");
response.Id.Should().BeEmpty();
response.Deleted.Should().BeFalse();
}
[Fact]
public void JsonDeserialization_WhenDeserialized_ItShouldHaveExpectedValues()
{
var result = Deserialize<FileDeleteResponse>(SampleJson);
result.Should().NotBeNull();
result!.Type.Should().Be("file_deleted");
result.Id.Should().Be("file_abc123");
result.Deleted.Should().BeTrue();
}
[Fact]
public void JsonSerialization_WhenSerialized_ItShouldReturnExpectedShape()
{
var response = new FileDeleteResponse
{
Type = "file_deleted",
Id = "file_abc123",
Deleted = true
};
var result = Serialize(response);
var expectedJson = @"{
""type"": ""file_deleted"",
""id"": ""file_abc123"",
""deleted"": true
}";
JsonAssert.Equal(expectedJson, result);
}
}