Skip to content

Instantly share code, notes, and snippets.

View bartelink's full-sized avatar

Ruben Bartelink bartelink

View GitHub Profile
@bartelink
bartelink / DiagnosticFeatures.fs
Last active December 24, 2015 12:58
My TickSpec.xunit boilerplate (just add .feature files as EmbeddedResources and group them into XXXFeatures.fs as in the example DiagnosticFeatures.fs file)
open TickSpec
open Features
module DiagnosticFeatures =
[<TickFact>]
let ConnectivityFeature () =
generateScenariosFromEmbeddedFeatureFile "Connectivity"
@bartelink
bartelink / gist:5671464
Created May 29, 2013 16:04
Ninject Scoping Learnings and Tests to accompany http://stackoverflow.com/a/15836383/11635
public static class NinjectScopingLearning
{
public static class InParentScope
{
[Fact]
public static void WorksIffParentScopeAllWayUp()
{
var kernel = new StandardKernel();
kernel.Bind<Root>().ToSelf().InSingletonScope();
kernel.Bind<Child>().ToSelf().InParentScope();
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using Xunit.Extensions;
namespace Prototypes.AutoFixture.Xunit.Extensions
{
public class CompositeDataAttribute : DataAttribute
@bartelink
bartelink / describe_AClass.cs
Created September 14, 2012 09:01
Row test in NSpec
/*
output of the row test below
describe AClass
describe many variations
A should equal A
C should equal A - [Failed]
*/
//top level context to describe class
class describe_AClass
static class Program
{
static void Main()
{
var x = new { a=0, b=1 };
f( x );
}
static void f(dynamic x)
{
Console.WriteLine(x.b);
@bartelink
bartelink / PostProcessWhereIsACustomization.cs
Last active September 11, 2020 08:00
AutoFixture customization to allow insertion of arbitrary postprocessing logic a la Customize( c=>c.Do()) but in a global manner Revised for v3 (initally for v2)
namespace Ploeh.AutoFixture
{
using Kernel;
using System;
public class PostProcessWhereIsACustomization<T> : ICustomization
where T : class
{
readonly PostProcessSpecimensBehavior _behavior;
@bartelink
bartelink / ClassAutoData.cs
Created July 17, 2012 13:17
ClassAutoData spiking
[Theory]
[ClassAutoData( typeof( XProvider ) )]
public static void Scenario( X x, string y )
{
Console.WriteLine( x + "," + y );
}
public class ClassAutoDataAttribute : CompositeDataAttribute
{
public ClassAutoDataAttribute( Type @class )
@bartelink
bartelink / Get-GrepWinClipboardFiles.ps1
Created July 4, 2012 11:41
Get-GrepWinClipboardFiles. Example: Get-GrepWinClipboardFiles| %{ tf checkout $_ }
function Get-ClipboardText {
$command = {
add-type -an system.windows.forms
[System.Windows.Forms.Clipboard]::GetText()
}
powershell -sta -noprofile -command $command
}
function Get-GrepWinClipboardFiles() {
get-ClipboardText | ConvertFrom-Csv -del "`t" | %{ $_.Path+"\"+$_.Name }
@bartelink
bartelink / SutContext.cs
Created May 16, 2011 15:27
The consumption piece for HackedDisposableTrackingCustomization.cs
static class SutContext
{
public static SutContext<T> Create<T>()
{
T sut;
return Create<T>( out sut );
}
public static SutContext<T> Create<T>( out T sut )
{
@bartelink
bartelink / HackedDisposableTrackingCustomization.cs
Last active September 25, 2015 19:47
My 'teardown in reverse order' fork of AutoFixture.Kernel.DisposableTrackingCustomization (Current version works against v3.x, initial revision against 2.x)
namespace Ploeh.AutoFixture.Forked
{
class HackedDisposableTrackingCustomization : ICustomization, IDisposable
{
private readonly DisposableTrackingBehavior behavior;
public HackedDisposableTrackingCustomization()
{
this.behavior = new DisposableTrackingBehavior();
}