public void TestMethod1() { var obj = new ClassB(); var proxy = obj.GetInstance(); var containsCountable = (IContainsCountable)proxy; var countable = (ICountable)proxy; var longCountable = (ILongCountable)proxy; containsCountable.Countable.Count = 13; Assert.AreEqual(13, obj.Countable.GetCount()); Assert.AreEqual(17, countable.GetCount()); Assert.AreEqual(17, longCountable.GetCount()); Assert.AreEqual(13, longCountable.LongCount); }