Skip to content

Instantly share code, notes, and snippets.

View erikdietrich's full-sized avatar

Erik Dietrich erikdietrich

View GitHub Profile
@erikdietrich
erikdietrich / MainWindowViewModel.cs
Created November 14, 2012 06:59
View model for the main window, including combo box item logic
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
namespace WpfScratchpad
{
public static ISetup<T, TResult> Setup<T, TResult>(this T mock, Expression<Func<T, TResult>> expression) where T : class
{
return Mock.Get(mock).Setup(expression);
}
public static void Verify<T, TResult>(this T mock, Expression<Func<T, TResult>> expression) where T : class
{
Mock.Get(mock).Verify(expression);
}
@erikdietrich
erikdietrich / MockGet.cs
Last active December 14, 2015 00:19
Demonstration of the Mock/regular conflict in Moq
private ISomeService Service { get; set; }
[TestMethod, Owner("ebd"), TestCategory("Proven"), TestCategory("Unit")]
public void SomeTest()
{
Service = Mock.Of<ISomeService>();
//I want to inject it as if it were just some service
Target = new SomeClassUnderTest(Service);
private ISomeService Service { get; set; }
[TestMethod, Owner("ebd"), TestCategory("Proven"), TestCategory("Unit")]
public void SomeTest()
{
//I want to inject it as if it were just some service
Target = new ContractUpdater(Service);
//And set it up more intuitively
Service.Setup(serv => serv.Create(It.IsAny<Service>())).Throws(new Exception());
public class SomeClass
{
private readonly List<Customer> _customers = new List<Customer>();
public void AddCustomerForModelIfValid(CustomerModel modelOfCustomer)
{
if (IsModelValidForAdding(modelOfCustomer))
AddCustomerForModel(modelOfCustomer);
}
@erikdietrich
erikdietrich / ValuesController.cs
Created March 15, 2013 04:23
This is the default controller created by Web API.
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
public abstract class MailPiece
{
public abstract decimal Postage { get; }
public abstract decimal Width { get; }
public abstract decimal Height { get; }
public abstract decimal Thickness { get; }
public class Postcard : MailPiece
{
public override decimal Postage { get { return 0.33M; } }
public override decimal Width { get { return 6; } }
public override decimal Height { get { return 4.25M; } }
public override decimal Thickness { get { return 0.016M; } }
}
public class Letter : MailPiece
{
public override decimal Postage { get { return 0.46M; } }
public override decimal Width { get { return 11.5M; } }
public override decimal Height { get { return 6.125M; } }
public override decimal Thickness { get { return 0.25M; } }
}
static void Main(string[] args)
{
var pieces = new List<MailPiece>();
for(long index = 0; index < 563000000; index++)
{
pieces.Add(new Letter() { DestinationZip = (index % 100000).ToString() });
}
Console.ReadLine();
}