You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

ImageMessageTests.cs 1.2 kB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright (c) Microsoft Corporation. All rights reserved.
  2. // ImageMessageTests.cs
  3. using System;
  4. using System.IO;
  5. using System.Threading.Tasks;
  6. using FluentAssertions;
  7. using Xunit;
  8. namespace AutoGen.Tests;
  9. public class ImageMessageTests
  10. {
  11. [Fact]
  12. public async Task ItCreateFromLocalImage()
  13. {
  14. var image = Path.Combine("testData", "images", "background.png");
  15. var binary = File.ReadAllBytes(image);
  16. var base64 = Convert.ToBase64String(binary);
  17. var imageMessage = new ImageMessage(Role.User, BinaryData.FromBytes(binary, "image/png"));
  18. imageMessage.MimeType.Should().Be("image/png");
  19. imageMessage.BuildDataUri().Should().Be($"data:image/png;base64,{base64}");
  20. }
  21. [Fact]
  22. public async Task ItCreateFromUrl()
  23. {
  24. var image = Path.Combine("testData", "images", "background.png");
  25. var fullPath = Path.GetFullPath(image);
  26. var localUrl = new Uri(fullPath).AbsoluteUri;
  27. var imageMessage = new ImageMessage(Role.User, localUrl);
  28. imageMessage.Url.Should().Be(localUrl);
  29. imageMessage.MimeType.Should().Be("image/png");
  30. imageMessage.Data.Should().BeNull();
  31. }
  32. }