This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Diagnostics.CodeAnalysis; | |
public static class Maybe | |
{ | |
public static bool Try<T>(Func<T> maybeGetValue, [NotNullWhen(true)] out T output) | |
{ | |
output = maybeGetValue(); | |
return output != null; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public abstract class Entity | |
{ | |
public Guid Id { get; set; } | |
} | |
public class Customer : Entity | |
{ | |
public Customer() | |
{ | |
Orders = new List<Order>(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ExampleDbContext : DbContext | |
{ | |
private DbContextTransaction _currentTransaction; | |
... | |
public void BeginTransaction() | |
{ | |
if (_currentTransaction != null) | |
return; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class Assertions | |
{ | |
public static void ShouldMatch<T>(this T actual, T expected) | |
=> Json(actual).ShouldEqual(Json(expected), "Expected two objects to match on all properties."); | |
private static string Json<T>(T actual) | |
=> JsonConvert.SerializeObject(actual, Formatting.Indented); | |
... | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class Testing | |
{ | |
private static IContainer Container => TestDependencyScope.CurrentNestedContainer; | |
public static T Resolve<T>() | |
{ | |
return Container.GetInstance<T>(); | |
} | |
public static object Resolve(Type type) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AutoFixtureParameterSource : ParameterSource | |
{ | |
public IEnumerable<object[]> GetParameters(MethodInfo method) | |
{ | |
// Produces a randomly-populated object for each | |
// parameter declared on the test method, using | |
// a Fixture that has our customizations. | |
var fixture = new Fixture(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class NestedContainerPerCase : CaseBehavior | |
{ | |
public void Execute(Case context, Action next) | |
{ | |
TestDependencyScope.Begin(); | |
next(); | |
TestDependencyScope.End(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public static class IoC | |
{ | |
private static readonly Lazy<IContainer> Bootstrapper = new Lazy<IContainer>(Initialize, true); | |
public static IContainer Container => Bootstrapper.Value; | |
private static IContainer Initialize() | |
{ | |
return new Container(cfg => | |
{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ResetDatabase : CaseBehavior | |
{ | |
public void Execute(Case context, Action next) | |
{ | |
var checkpoint = new Checkpoint | |
{ | |
SchemasToExclude = new[] { "RoundhousE" }, | |
TablesToIgnore = new[] { "sysdiagrams" } | |
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class InitializeAutoMapper : ClassBehavior | |
{ | |
public void Execute(Class context, Action next) | |
{ | |
AutoMapperBootstrapper.Initialize(); | |
next(); | |
} | |
} |
NewerOlder