Skip to content

Instantly share code, notes, and snippets.

View JakeGinnivan's full-sized avatar
:shipit:

Jake Ginnivan JakeGinnivan

:shipit:
View GitHub Profile
@JakeGinnivan
JakeGinnivan / gist:9247018
Created February 27, 2014 09:29
VSTest.Console
Extensions/*
ActivateApplication.exe
EntityFramework.dll
Microsoft.TeamFoundation.TestPlatform.Client.dll
Microsoft.TestTools.Cpp.targets
Microsoft.VisualStudio.MSTest.TestWindow.dll
Microsoft.VisualStudio.TestPlatform.BuildTasks.dll
Microsoft.VisualStudio.TestPlatform.Client.dll
Microsoft.VisualStudio.TestPlatform.Common.dll
Microsoft.VisualStudio.TestPlatform.Core.dll
@JakeGinnivan
JakeGinnivan / Linqpad.cs
Created March 17, 2014 08:23
Lambda shiz
void Main()
{
GetExpression().Compile()(new Foo { Bar = new Bar { Abc = "A" }}).Dump();
GetExpression().Compile()(new Foo { Bar = new Bar { Abc = "B" }}).Dump();
}
Expression<Func<Foo, bool>> GetExpression()
{
// Method takes Foo and uses an expression to first retrieve Bar
@JakeGinnivan
JakeGinnivan / FluentExamples.cs
Created April 1, 2014 10:41
BDDfy Fluent Examples Ideas
//https://github.com/cucumber/cucumber/wiki/Scenario-Outlines
//Scenario: eat 5 out of 20
// Given there are 20 cucumbers
// When I eat 5 cucumbers
// Then I should have 15 cucumbers
//Scenario Outline: eating
// Given there are <start> cucumbers
// When I eat <eat> cucumbers
// Then I should have <left> cucumbers
public class ReflectiveExamples
{
public int Start { get; set; }
public int Eat { get; set; }
public int Left { get; set; }
//Scenario Outline: eating
// Given there are <start> cucumbers
// When I eat <eat> cucumbers
// Then I should have <left> cucumbers
Scenario: Fluent can be used with examples
Given method taking <example int>
Given method taking <prop 1>
Given a different method with random arg 2
Given a different method with <prop 2>
When method using <example string>
Then all is good
Examples:
@JakeGinnivan
JakeGinnivan / RefactoringToExamplesInBddfy.cs
Last active August 29, 2015 14:00
Refactoring data driven nUnit test to BDDfy example test
// Start with a nUnit Test case
[TestCase(Foo.Bar, Foo.Baz, Foo.Qux)]
[TestCase(Foo.Baz, Foo.Qux, Foo.Bar)]
public void MyTest(Foo givenArg, Foo whenArg, Foo thenArg)
{
this.Given(_ => GivenSomething(givenArg))
.When(_ => WhenSomething(whenArg))
.Then(_ => ThenSomething(thenArg))
.BDDfy();
}
void Main()
{
this.Given(_ => TheBuyerIsA(_buyerCategory))
.And(_ => TheBuyerSelectsA(fare))
.When(_ => TheBuyerPays())
.Then(_ => ASaleOccursWithAnAmountOf(Price))
.WithExamples(new ExampleTable(
"Buyer Category", "Fare", "Price")
{
{ BuyerCategory.Student, new MonthlyPass(), new Currency(76) },
@JakeGinnivan
JakeGinnivan / gist:0aae81e58e90b891bfef
Created May 14, 2014 16:10
Unknown mergetool issue
git config option merge.tool set to unknown tool: --global
Resetting to default...
This message is displayed because 'merge.tool' is not configured.
See 'git mergetool --tool-help' or 'git help config' for more details.
'git mergetool' will now attempt to use one of the following tools:
tortoisemerge emerge vimdiff
No known merge tool is available.
[alias]
a = add -A
abort = rebase --abort
amend = commit --amend -C HEAD
bl = blame -w -M -C
br = branch
cat = cat-file -t
ci = commit -a
co = checkout
df = diff --word-diff=color --word-diff-regex=. -w --patience
function Prune-Local-Branches() {
git branch --merged master | grep -v 'master$' | xargs git branch -d
}