Skip to content
This repository has been archived by the owner on Jul 16, 2023. It is now read-only.

A simple implementation of contract verification for NUnit. Ideas based on the contract verifiers in MbUnit.

License

Notifications You must be signed in to change notification settings

thenucleus/nuclei.nunit.extensions

Repository files navigation

Nuclei

Nuclei is a collection of libraries containing classes and functions for inter-application interaction via a command mechanism, diagnostics, configuration handling, exception handling and assembly location and loading. The Nuclei.Nunit.Extensions assembly contains a simple implementation of contract verification for NUnit. Ideas based on the contract verifiers in MbUnit. Currently only the verifiers for hashcode and equality are implemented.

Installation instructions

All libraries are available on NuGet.org.

How to build

The solution files are created in Visual Studio 2013 (using .NET 4.0) and the assemblies can be build either from Visual Studio or through the build script. To invoke the build script use the following command line from the workspace directory (assuming MsBuild, nuget and git are on the PATH)

msbuild entrypoint.msbuild /t:build

This will build the binaries and the NuGet package. The NuGet package will be placed in the build\deploy directory.

Note that the build scripts assume that:

  • The binaries should be signed, however the SNK key file is not included in the repository so a new key file has to be created. The key file is referenced through an environment variable called SOFTWARE_SIGNING_KEY_PATH that has as value the directory path of the key file. The key file is expected to be called nuclei.snk
  • nuget.exe can be found on the PATH somewhere so that it can be called to restore all the required NuGet packages.
  • GIT can be found on the PATH somewhere so that it can be called to get the hash of the last commit in the current repository. This hash is embedded in the assemblies together with information about the build configuration and build time and date.

How to contribute

There are a few ways to contribute:

  • By opening an issue on the project.
  • By provide a pull-request for a new feature or a bug.

Any suggestions or improvements you may have are more than welcome.

About

A simple implementation of contract verification for NUnit. Ideas based on the contract verifiers in MbUnit.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages