Sungaila.InlineTest
1.0.1
Prefix Reserved
dotnet add package Sungaila.InlineTest --version 1.0.1
NuGet\Install-Package Sungaila.InlineTest -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sungaila.InlineTest" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sungaila.InlineTest --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Sungaila.InlineTest, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Sungaila.InlineTest as a Cake Addin #addin nuget:?package=Sungaila.InlineTest&version=1.0.1 // Install Sungaila.InlineTest as a Cake Tool #tool nuget:?package=Sungaila.InlineTest&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Sungaila.InlineTest
A C# source generator for quick creation of simple unit tests. Just add these attributes to your method:
[AreEqual]
[AreNotEqual]
[IsTrue]
[IsFalse]
[IsNull]
[IsNotNull]
[IsInstanceOfType<T>]
[IsNotInstanceOfType<T>]
[ThrowsException<T>]
Example
[AreEqual(6, 3, Expected = 2)]
[AreEqual(1, 1, Expected = 1)]
[AreNotEqual(10, 1, NotExpected = 42)]
[ThrowsException<ArgumentOutOfRangeException>(1, 0)]
public static int Divide(int dividend, int divisor)
{
if (divisor == 0)
throw new ArgumentOutOfRangeException(nameof(divisor));
return dividend / divisor;
}
The source generator will produce classes containing the matching unit tests.
// shortened code for readability
[GeneratedCode("Sungaila.InlineTest", "1.0.0+17ac90a4b0b471c88edc5fcedee4124a7cbbac28")]
[TestClass]
public partial class ReadmeExampleTests
{
[TestMethod]
[DataRow(6, 3, 2)]
[DataRow(1, 1, 1)]
public void DivideAreEqual(int dividend, int divisor, int expected)
{
var result = ReadmeExample.Divide(dividend, divisor);
Assert.AreEqual(expected, result);
}
[TestMethod]
[DataRow(10, 1, 42)]
public void DivideAreNotEqual(int dividend, int divisor, int notExpected)
{
var result = ReadmeExample.Divide(dividend, divisor);
Assert.AreNotEqual(notExpected, result);
}
[TestMethod]
[DataRow(1, 0)]
public void DivideThrowsException_ArgumentOutOfRangeException(int dividend, int divisor)
{
Assert.ThrowsException<ArgumentOutOfRangeException>(
() => ReadmeExample.Divide(dividend, divisor));
}
}
Restrictions
- The same Attribute rules apply here. Your parameters have to be either
- a constant value
- a
System.Type
(defined at compile-time) - a single-dimensional array of the above
- The method must not have more than 15 parameters.
- The method must be defined inside a
class
orstruct
. - For classes without a parameterless constructor the method must be
static
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.NET.Test.Sdk (>= 17.5.0)
- MSTest.TestAdapter (>= 3.0.2)
- MSTest.TestFramework (>= 3.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 293 | 3/11/2023 |
1.0.0 | 217 | 3/10/2023 |
0.9.0-preview | 155 | 3/3/2023 |
Release build with optimizations.