Skip to content

Commit

Permalink
Snapshot test public API
Browse files Browse the repository at this point in the history
  • Loading branch information
ltrzesniewski committed Feb 3, 2023
1 parent 4ba244f commit b8829d0
Show file tree
Hide file tree
Showing 15 changed files with 3,164 additions and 42 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.verified.txt text eol=lf
*.verified.xml text eol=lf
*.verified.json text eol=lf
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ Thumbs.db
*.log
*.binlog
*.orig

*.received.*
16 changes: 16 additions & 0 deletions src/ZeroLog.Tests.NetStandard/Initializer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using DiffEngine;
using NUnit.Framework;
using VerifyTests;

namespace ZeroLog.Tests.NetStandard;

[SetUpFixture]
public static class Initializer
{
[OneTimeSetUp]
public static void Initialize()
{
DiffRunner.Disabled = true;
VerifyDiffPlex.Initialize();
}
}
52 changes: 52 additions & 0 deletions src/ZeroLog.Tests.NetStandard/SanityChecks.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using NUnit.Framework;
using PublicApiGenerator;
using VerifyNUnit;

namespace ZeroLog.Tests.NetStandard;

[TestFixture]
public class SanityChecks
{
[Test]
public Task should_export_expected_namespaces()
{
return Verifier.Verify(
typeof(LogManager).Assembly
.ExportedTypes
.Select(i => i.Namespace)
.OrderBy(i => i)
.Distinct()
);
}

[Test]
public Task should_export_expected_types()
{
return Verifier.Verify(
typeof(LogManager).Assembly
.ExportedTypes
.Select(i => i.FullName)
.OrderBy(i => i)
.Distinct()
);
}

[Test]
public Task should_have_expected_public_api()
{
return Verifier.Verify(
typeof(LogManager).Assembly
.GeneratePublicApi(new ApiGeneratorOptions
{
IncludeAssemblyAttributes = false,
ExcludeAttributes = new[]
{
typeof(ObsoleteAttribute).FullName
}
})
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[
ZeroLog
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[
ZeroLog.Log,
ZeroLog.Log+DebugInterpolatedStringHandler,
ZeroLog.Log+ErrorInterpolatedStringHandler,
ZeroLog.Log+FatalInterpolatedStringHandler,
ZeroLog.Log+InfoInterpolatedStringHandler,
ZeroLog.Log+TraceInterpolatedStringHandler,
ZeroLog.Log+WarnInterpolatedStringHandler,
ZeroLog.LogLevel,
ZeroLog.LogManager,
ZeroLog.LogMessage,
ZeroLog.LogMessage+AppendInterpolatedStringHandler,
ZeroLog.LogMessage+AppendOperation`1
]

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.0" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.3.0" />
<PackageReference Include="Verify.NUnit" Version="19.8.3" />
<PackageReference Include="Verify.DiffPlex" Version="2.1.0" />
<PackageReference Include="PublicApiGenerator" Version="10.3.0" />
</ItemGroup>

<ItemGroup>
Expand Down
17 changes: 17 additions & 0 deletions src/ZeroLog.Tests/ModuleInitializer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using System.Runtime.CompilerServices;
using DiffEngine;
using VerifyTests;

namespace ZeroLog.Tests;

#pragma warning disable CA2255

public static class ModuleInitializer
{
[ModuleInitializer]
public static void Initialize()
{
DiffRunner.Disabled = true;
VerifyDiffPlex.Initialize();
}
}
84 changes: 42 additions & 42 deletions src/ZeroLog.Tests/SanityChecks.cs
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
using NUnit.Framework;
using ZeroLog.Tests.Support;
using PublicApiGenerator;
using VerifyNUnit;

namespace ZeroLog.Tests;

[TestFixture]
public class SanityChecks
{
[Test]
public void should_export_expected_types()
public Task should_export_expected_namespaces()
{
// This test prevents mistakenly adding public types in the future.
return Verifier.Verify(
typeof(LogManager).Assembly
.ExportedTypes
.Select(i => i.Namespace)
.OrderBy(i => i)
.Distinct()
);
}

var publicTypes = new[]
{
"ZeroLog.Appenders.Appender",
"ZeroLog.Appenders.ConsoleAppender",
"ZeroLog.Appenders.DateAndSizeRollingFileAppender",
"ZeroLog.Appenders.NoopAppender",
"ZeroLog.Appenders.StreamAppender",
"ZeroLog.Appenders.TextWriterAppender",
"ZeroLog.Configuration.AppenderConfiguration",
"ZeroLog.Configuration.AppendingStrategy",
"ZeroLog.Configuration.ILoggerConfigurationCollection",
"ZeroLog.Configuration.LogMessagePoolExhaustionStrategy",
"ZeroLog.Configuration.LoggerConfiguration",
"ZeroLog.Configuration.RootLoggerConfiguration",
"ZeroLog.Configuration.ZeroLogConfiguration",
"ZeroLog.Formatting.DefaultFormatter",
"ZeroLog.Formatting.Formatter",
"ZeroLog.Formatting.KeyValueList",
"ZeroLog.Formatting.KeyValueList+Enumerator",
"ZeroLog.Formatting.LoggedKeyValue",
"ZeroLog.Formatting.LoggedMessage",
"ZeroLog.Log",
"ZeroLog.Log+DebugInterpolatedStringHandler",
"ZeroLog.Log+ErrorInterpolatedStringHandler",
"ZeroLog.Log+FatalInterpolatedStringHandler",
"ZeroLog.Log+InfoInterpolatedStringHandler",
"ZeroLog.Log+TraceInterpolatedStringHandler",
"ZeroLog.Log+WarnInterpolatedStringHandler",
"ZeroLog.LogLevel",
"ZeroLog.LogManager",
"ZeroLog.LogMessage",
"ZeroLog.LogMessage+AppendInterpolatedStringHandler",
"ZeroLog.LogMessage+AppendOperation`1",
"ZeroLog.UnmanagedFormatterDelegate`1",
};
[Test]
public Task should_export_expected_types()
{
return Verifier.Verify(
typeof(LogManager).Assembly
.ExportedTypes
.Select(i => i.FullName)
.OrderBy(i => i)
.Distinct()
);
}

typeof(LogManager).Assembly
.ExportedTypes
.Select(i => i.FullName)
.ShouldBeEquivalentTo(publicTypes);
[Test]
public Task should_have_expected_public_api()
{
return Verifier.Verify(
typeof(LogManager).Assembly
.GeneratePublicApi(new ApiGeneratorOptions
{
IncludeAssemblyAttributes = false,
ExcludeAttributes = new[]
{
typeof(ObsoleteAttribute).FullName,
#if NET7_0_OR_GREATER
typeof(CompilerFeatureRequiredAttribute).FullName
#endif
}
})
).UniqueForTargetFrameworkAndVersion();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[
ZeroLog,
ZeroLog.Appenders,
ZeroLog.Configuration,
ZeroLog.Formatting
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[
ZeroLog.Appenders.Appender,
ZeroLog.Appenders.ConsoleAppender,
ZeroLog.Appenders.DateAndSizeRollingFileAppender,
ZeroLog.Appenders.NoopAppender,
ZeroLog.Appenders.StreamAppender,
ZeroLog.Appenders.TextWriterAppender,
ZeroLog.Configuration.AppenderConfiguration,
ZeroLog.Configuration.AppendingStrategy,
ZeroLog.Configuration.ILoggerConfigurationCollection,
ZeroLog.Configuration.LoggerConfiguration,
ZeroLog.Configuration.LogMessagePoolExhaustionStrategy,
ZeroLog.Configuration.RootLoggerConfiguration,
ZeroLog.Configuration.ZeroLogConfiguration,
ZeroLog.Formatting.DefaultFormatter,
ZeroLog.Formatting.Formatter,
ZeroLog.Formatting.KeyValueList,
ZeroLog.Formatting.KeyValueList+Enumerator,
ZeroLog.Formatting.LoggedKeyValue,
ZeroLog.Formatting.LoggedMessage,
ZeroLog.Log,
ZeroLog.Log+DebugInterpolatedStringHandler,
ZeroLog.Log+ErrorInterpolatedStringHandler,
ZeroLog.Log+FatalInterpolatedStringHandler,
ZeroLog.Log+InfoInterpolatedStringHandler,
ZeroLog.Log+TraceInterpolatedStringHandler,
ZeroLog.Log+WarnInterpolatedStringHandler,
ZeroLog.LogLevel,
ZeroLog.LogManager,
ZeroLog.LogMessage,
ZeroLog.LogMessage+AppendInterpolatedStringHandler,
ZeroLog.LogMessage+AppendOperation`1,
ZeroLog.UnmanagedFormatterDelegate`1
]
Loading

0 comments on commit b8829d0

Please sign in to comment.