private void PostProcessTProxiedObject(ProcessedObjectChecker test) { AppDomain domain = null; try { AppDomainSetup setup = new AppDomainSetup(); setup.ApplicationBase = Environment.CurrentDirectory; domain = AppDomain.CreateDomain("Spring", new Evidence(AppDomain.CurrentDomain.Evidence), setup); object foo = domain.CreateInstanceAndUnwrap(GetType().Assembly.FullName, typeof(MockContextAwareObject).FullName); MockApplicationContext ctx = new MockApplicationContext(); ApplicationContextAwareProcessor processor = new ApplicationContextAwareProcessor(ctx); MockContextAwareObject afterFoo = (MockContextAwareObject)processor.PostProcessBeforeInitialization(foo, "MyContextAwareObject"); test(afterFoo); } finally { try { AppDomain.Unload(domain); } catch (Exception ex) { Console.Write("Error unloading AppDomain used during testing : " + ex); } } }
public void ContextAwarePrototypeGetName() { _context.RegisterObject(); _context.Refresh(); MockContextAwareObject mcao1 = (MockContextAwareObject)_context.GetObject("mcao-proto"); Assert.AreEqual(mcao1.ApplicationContext.Name, "MockApplicationContextName"); }
public void ContextAwareSingletonGetName() { _context.RegisterSingleton(); _context.Refresh(); MockContextAwareObject mcao1 = (MockContextAwareObject)_context.GetObject("mcao-single"); Assert.AreEqual(mcao1.ApplicationContext.Name, "MockApplicationContextName"); }
public void AttachContext() { MockApplicationContext ctx = new MockApplicationContext(); ApplicationContextAwareProcessor processor = new ApplicationContextAwareProcessor(ctx); MockContextAwareObject obj = new MockContextAwareObject(); Assert.IsNull(obj.GetApplicationContext(), "Context Does Not Equal"); MockContextAwareObject obj2 = (MockContextAwareObject) processor.PostProcessBeforeInitialization(obj, "MyContextAwareObject"); Assert.AreEqual(ctx, obj2.GetApplicationContext(), "Context Does Not Equal"); }
public void RegisterObjectPrototype() { StaticApplicationContext ctx = new StaticApplicationContext(); ctx.RegisterPrototype("my object", typeof(MockContextAwareObject), null); MockContextAwareObject ctx1 = (MockContextAwareObject)ctx.GetObject("my object"); MockContextAwareObject ctx2 = (MockContextAwareObject)ctx.GetObject("my object"); Assert.IsTrue(ctx1 != ctx2); Assert.IsTrue(!ctx.IsSingleton("my object")); }
public void AttachContext() { MockApplicationContext ctx = new MockApplicationContext(); ApplicationContextAwareProcessor processor = new ApplicationContextAwareProcessor(ctx); MockContextAwareObject obj = new MockContextAwareObject(); Assert.IsNull(obj.GetApplicationContext(), "Context Does Not Equal"); MockContextAwareObject obj2 = (MockContextAwareObject)processor.PostProcessBeforeInitialization(obj, "MyContextAwareObject"); Assert.AreEqual(ctx, obj2.GetApplicationContext(), "Context Does Not Equal"); }
public void ContextAwarePrototypeWasCalledBack() { _context.RegisterObject(); _context.Refresh(); MockContextAwareObject mcao1 = (MockContextAwareObject)_context.GetObject("mcao-proto"); Assert.IsTrue(mcao1.ApplicationContext == _context, "context"); Assert.IsTrue(!_context.IsSingleton("mcao-proto"), "singleton"); MockContextAwareObject mcao2 = (MockContextAwareObject)_context.GetObject("mcao-proto"); Assert.IsTrue(mcao1 != mcao2, "instance"); }
public void ContextAwareSingletonWasCalledBack() { _context.RegisterSingleton(); _context.Refresh(); MockContextAwareObject mcao1 = (MockContextAwareObject)_context.GetObject("mcao-single"); Assert.IsTrue(mcao1.ApplicationContext == _context, "context"); object mcao2 = _context.GetObject("mcao-single"); Assert.IsTrue(mcao1 == mcao2, "same"); Assert.IsTrue(_context.IsSingleton("mcao-single"), "singleton?"); }
private void _AlwaysIgnoresProxiedMessageSourceAwareObjects(MockContextAwareObject obj) { Assert.IsNull(obj.MessageSource, "Transparent proxy IMessageSourceAware object was not ignored (must be)."); }
private void _AlwaysIgnoresProxiedApplicationContextAwareAwareObjects(MockContextAwareObject obj) { Assert.IsNull(obj.ApplicationContext, "Transparent proxy IApplicationContextAwareAware object was not ignored (must be)."); }
private void _AlwaysIgnoresProxiedResourceLoaderAwareObjects(MockContextAwareObject obj) { Assert.IsNull(obj.ResourceLoader, "Transparent proxy IResourceLoaderAware object was not ignored (must be)."); }