-
Notifications
You must be signed in to change notification settings - Fork 253
/
Copy pathOpenApiTypeMapperTests.cs
55 lines (48 loc) · 2.3 KB
/
OpenApiTypeMapperTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
using System;
using System.Collections.Generic;
using FluentAssertions;
using Microsoft.OpenApi.Extensions;
using Microsoft.OpenApi.Models;
using Xunit;
namespace Microsoft.OpenApi.Tests.Extensions
{
public class OpenApiTypeMapperTests
{
public static IEnumerable<object[]> PrimitiveTypeData => new List<object[]>
{
new object[] { typeof(int), new OpenApiSchema { Type = "integer", Format = "int32" } },
new object[] { typeof(string), new OpenApiSchema { Type = "string" } },
new object[] { typeof(double), new OpenApiSchema { Type = "number", Format = "double" } },
new object[] { typeof(float?), new OpenApiSchema { Type = "number", Format = "float", Nullable = true } },
new object[] { typeof(DateTimeOffset), new OpenApiSchema { Type = "string", Format = "date-time" } }
};
public static IEnumerable<object[]> OpenApiDataTypes => new List<object[]>
{
new object[] { new OpenApiSchema { Type = "integer", Format = "int32"}, typeof(int) },
new object[] { new OpenApiSchema { Type = "string" }, typeof(string) },
new object[] { new OpenApiSchema { Type = "number", Format = "double" }, typeof(double) },
new object[] { new OpenApiSchema { Type = "number", Format = "float", Nullable = true }, typeof(float?) },
new object[] { new OpenApiSchema { Type = "string", Format = "date-time" }, typeof(DateTimeOffset) }
};
[Theory]
[MemberData(nameof(PrimitiveTypeData))]
public void MapTypeToOpenApiPrimitiveTypeShouldSucceed(Type type, OpenApiSchema expected)
{
// Arrange & Act
var actual = OpenApiTypeMapper.MapTypeToOpenApiPrimitiveType(type);
// Assert
actual.Should().BeEquivalentTo(expected);
}
[Theory]
[MemberData(nameof(OpenApiDataTypes))]
public void MapOpenApiSchemaTypeToSimpleTypeShouldSucceed(OpenApiSchema schema, Type expected)
{
// Arrange & Act
var actual = OpenApiTypeMapper.MapOpenApiPrimitiveTypeToSimpleType(schema);
// Assert
actual.Should().Be(expected);
}
}
}