Skip to content

Instantly share code, notes, and snippets.

View MikeBild's full-sized avatar
🏠
Working from home

Mike Bild MikeBild

🏠
Working from home
View GitHub Profile
@MikeBild
MikeBild / ViewModelField.cs
Created June 17, 2011 15:31
ViewModelField<T>
public class ViewModelField<T> : INotifyPropertyChanged
{
private T _value;
public T Value
{
get { return _value; }
set
{
_value = value;
PropertyChanged(this, new PropertyChangedEventArgs("Value"));
@MikeBild
MikeBild / rakefile.rb
Created June 18, 2011 18:20
MSpec to JUnit Test Report Rake
require 'rake'
require './transform_mspec_report'
desc "Done..."
task :default => [:mspec, :transform] do
puts "Done..."
end
desc "Generate MSpec test report."
task :mspec do
@MikeBild
MikeBild / transform_mspec_report.rb
Created June 18, 2011 18:21
Transform MSpec to JUnit
require "nokogiri"
class TransformMSpecReport
def self.transform()
doc = Nokogiri::XML(File.read('test_result.xml'))
xslt = Nokogiri::XSLT(File.read('mSpec2JUnit.xslt'))
doc = xslt.transform(doc)
File.open('test_result_junit.xml', 'w') {|f| f.write(doc) }
puts "File transformed."
end
@MikeBild
MikeBild / ZeroMqDocumentSaga.cs
Created February 15, 2012 23:04
Minimod.MessageProcessor and Minimod.ZeroMqMessageStream as Document Saga (Message) Demo
using System;
using System.Reactive.Linq;
using Minimod.MessageProcessor;
using Minimod.ZeroMqMessageStream;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
@MikeBild
MikeBild / rx-test
Created September 13, 2012 17:30
Rx-Testing
var sut = Observable.Start(() =>
{
return "Demo";
});
var testScheduler = new Microsoft.Reactive.Testing.TestScheduler();
var actual = testScheduler.Start(() => sut);
Microsoft.Reactive.Testing.ReactiveAssert.AreElementsEqual(actual.Messages, new[] {
new Recorded<Notification<string>>(200, Notification.CreateOnNext("Demo")),
@MikeBild
MikeBild / weaselSteps.js
Created October 22, 2012 13:42
for example - encapsulate callback in this context with step
var step = require("step");
var weasel1 = function(callback) {
callback(null, 'first');
}
var weasel2 = function(callback) {
callback(null, 'second');
}
@MikeBild
MikeBild / SimpleRxTesting.cs
Created October 24, 2012 17:23
Simple Rx Testing without Mocks
var expected = new long[] {0, 1, 2, 3, 4};
var actual = new List<long>();
var scheduler = new TestScheduler();
var interval = Observable.Interval(TimeSpan.FromSeconds(1), scheduler).Take(5);
interval.Subscribe(actual.Add);
scheduler.Start();
CollectionAssert.AreEqual(expected, actual);
@MikeBild
MikeBild / thelastoneturnslightoff.cs
Created November 11, 2012 17:15
Shared resource management with Rx
public class SharedResource : IDisposable
{
public int SequenceNumber { get; private set; }
public SharedResource()
{
Debug.WriteLine("SharedResource created.");
}
public void Increment()
@MikeBild
MikeBild / LRUObservableCollection.cs
Created November 13, 2012 15:18
Tiny LRU cache implementation
public class LRUObservableCollection<T> : ObservableCollection<T>
{
private readonly int _length;
public LRUObservableCollection(int length)
{
_length = length;
}
protected override void InsertItem(int index, T item)
/* empty */