Files
InterfaceGenerator/InterfaceGenerator.Tests/VisibilityModifierTests.cs
T
2024-05-17 11:43:16 +01:00

56 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
{
}