public void Generate()
        {
            var    clickEvent   = typeof(EventAsObservableGeneratorSampleClass).GetEvents().Single(e => e.Name == "Click");
            var    code         = EventAsObservableGenerator.GenerateExtensionMethodOfEvent(clickEvent);
            string expectedCode =
                @"public static IObservable<EventPattern<EventArgs>> ClickAsObservable(this EventAsObservableGeneratorSampleClass @this)
{
    return Observable.FromEventPattern<EventHandler, EventArgs>(
        h => @this.Click += h, 
        h => @this.Click -= h);
}";

            Assert.AreEqual(expectedCode, code);
        }
        public void GeneratePrimitive()
        {
            var    clickEvent   = typeof(EventAsObservableGeneratorSampleClass).GetEvents().Single(e => e.Name == "GenericPrimitiveEvent");
            var    code         = EventAsObservableGenerator.GenerateExtensionMethodOfEvent(clickEvent);
            string expectedCode =
                @"public static IObservable<EventPattern<int>> GenericPrimitiveEventAsObservable(this EventAsObservableGeneratorSampleClass @this)
{
    return Observable.FromEventPattern<EventHandler<int>, int>(
        h => @this.GenericPrimitiveEvent += h, 
        h => @this.GenericPrimitiveEvent -= h);
}";

            Assert.AreEqual(expectedCode, code);
        }