Files
2024-05-17 11:58:54 +01:00

49 lines
1.4 KiB
C#

using System.Reflection;
using FluentAssertions;
using Xunit;
namespace Speckle.InterfaceGenerator.Tests;
public class VisibilityModifierTests
{
[Fact]
public void IExplicitlyPublicService_IsPublic()
{
var type = typeof(IExplicitlyPublicService);
type.Attributes.Should().HaveFlag(TypeAttributes.Public);
}
[Fact]
public void IExplicitlyInternalService_IsInternal()
{
var type = typeof(IExplicitlyInternalService);
type.Attributes.Should().HaveFlag(TypeAttributes.NotPublic);
}
[Fact]
public void IImplicitlyPublicService_IsPublic()
{
var type = typeof(IImplicitlyPublicService);
type.Attributes.Should().HaveFlag(TypeAttributes.Public);
}
[Fact]
public void IImplicitlyInternalService_IsInternal()
{
var type = typeof(IImplicitlyInternalService);
type.Attributes.Should().HaveFlag(TypeAttributes.NotPublic);
}
}
[GenerateAutoInterface(VisibilityModifier = "public")]
internal class ExplicitlyPublicService : IExplicitlyPublicService { }
[GenerateAutoInterface(VisibilityModifier = "internal")]
public class ExplicitlyInternalService : IExplicitlyInternalService { }
[GenerateAutoInterface]
public class ImplicitlyPublicService : IImplicitlyPublicService { }
[GenerateAutoInterface]
internal class ImplicitlyInternalService : IImplicitlyInternalService { }