public DerivedClass2(string str) { var expression1 = (Expression <Func <object> >)(() => this.Foo); var(type, instance) = ClassFinder.FindClass(expression1); Assert.AreEqual(typeof(DerivedClass2), type); Assert.AreSame(this, instance); }
public void FindClass_StaticClosure_TypeInstance() { var expression1 = (Expression <Func <object> >)(() => MockType1.Bar); var expression2 = (Expression <Func <object> >)(() => MockType2.Bar); var(type, instance) = ClassFinder.FindClass(expression2); Assert.AreEqual(typeof(MockType2), type); Assert.IsNull(instance); }
public static void AssertBar() { var expression1 = (Expression <Func <object> >)(() => Bar); var expression2 = (Expression <Func <object> >)(() => Bar); var(type, instance) = ClassFinder.FindClass(expression2); Assert.AreEqual(typeof(MockType1), type); Assert.IsNull(instance); }
public void AssertFoo() { var expression1 = (Expression <Func <object> >)(() => Foo); var expression2 = (Expression <Func <object> >)(() => Foo); var(type, instance) = ClassFinder.FindClass(expression2); Assert.AreEqual(typeof(MockType1), type); Assert.AreSame(this, instance); }
public void FindClass_Variable_TypeInstnce() { var foo = "fooo"; var bar = new { bar = "baar" }; var expression1 = (Expression <Func <object> >)(() => foo); var expression2 = (Expression <Func <object> >)(() => bar); var(type, instance) = ClassFinder.FindClass(expression1); var(type2, instance2) = ClassFinder.FindClass(expression2); Assert.AreEqual(typeof(string), type); Assert.AreSame(foo, instance); }
public void FindClass_InstanceClosure_TypeInstance() { var testClass1 = new MockType1(); var testClass2 = new MockType2(); var testClass3 = new MockType2(); var expression1 = (Expression <Func <object> >)(() => testClass1.Foo); var expression2 = (Expression <Func <object> >)(() => testClass2.Foo); var(type, instance) = ClassFinder.FindClass(expression2); Assert.AreEqual(typeof(MockType2), type); Assert.AreSame(testClass2, instance); }
public void FindClass_BaseDerived_Base() { var foo1 = new DerivedClass1 { Foo = "bar" }; var foo2 = new DerivedClass2 { Foo = "baz" }; var expression1 = (Expression <Func <object> >)(() => foo1.Foo); var expression2 = (Expression <Func <object> >)(() => foo2.Foo); var(type, instance) = ClassFinder.FindClass(expression2); Assert.AreEqual(typeof(DerivedClass2), type); Assert.AreSame(foo2, instance); }