mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-08 17:43:40 +00:00
47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
![]() |
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|||
|
// FunctionCallTemplateTests.cs
|
|||
|
|
|||
|
using ApprovalTests;
|
|||
|
using ApprovalTests.Namers;
|
|||
|
using ApprovalTests.Reporters;
|
|||
|
using AutoGen.SourceGenerator.Template;
|
|||
|
using Xunit;
|
|||
|
|
|||
|
namespace AutoGen.SourceGenerator.Tests;
|
|||
|
|
|||
|
public class FunctionCallTemplateTests
|
|||
|
{
|
|||
|
[Fact]
|
|||
|
[UseReporter(typeof(DiffReporter))]
|
|||
|
[UseApprovalSubdirectory("ApprovalTests")]
|
|||
|
public void TestFunctionCallTemplate()
|
|||
|
{
|
|||
|
var functionExample = new FunctionExamples();
|
|||
|
var function = functionExample.AddAsyncFunctionContract;
|
|||
|
var functionCallTemplate = new FunctionCallTemplate()
|
|||
|
{
|
|||
|
ClassName = function.ClassName,
|
|||
|
NameSpace = function.Namespace,
|
|||
|
FunctionContracts = [new SourceGeneratorFunctionContract()
|
|||
|
{
|
|||
|
Name = function.Name,
|
|||
|
Description = function.Description,
|
|||
|
ReturnType = function.ReturnType!.ToString(),
|
|||
|
ReturnDescription = function.ReturnDescription,
|
|||
|
Parameters = function.Parameters!.Select(p => new SourceGeneratorParameterContract()
|
|||
|
{
|
|||
|
Name = p.Name,
|
|||
|
Description = p.Description,
|
|||
|
Type = p.ParameterType!.ToString(),
|
|||
|
IsOptional = !p.IsRequired,
|
|||
|
JsonType = p.ParameterType!.ToString(),
|
|||
|
}).ToArray()
|
|||
|
}]
|
|||
|
};
|
|||
|
|
|||
|
var actual = functionCallTemplate.TransformText();
|
|||
|
|
|||
|
Approvals.Verify(actual);
|
|||
|
}
|
|||
|
}
|