public void PerfTest() { var type = typeof(TestView); var defFactory = new DefaultViewActivator(); var fastFactory = new FastViewActivator(); var activator = defFactory.Register(type); var fastActivator = fastFactory.Register(type); var iterations = 1000000; Stopwatch sw = new Stopwatch(); sw.Start(); for (int i = 0; i < iterations; i++) { var view = activator.Activate(type); } sw.Stop(); Console.WriteLine("Default took: {0}ms", sw.Elapsed.TotalMilliseconds); sw.Reset(); sw.Start(); for (int i = 0; i < iterations; i++) { var view = fastActivator.Activate(type); } sw.Stop(); Console.WriteLine("Fast took: {0}ms", sw.Elapsed.TotalMilliseconds); }
public void DoesNotCacheInstances() { var activator = new DefaultViewActivator(); var instance1 = activator.Instantiate(typeof(DataSet)); var instance2 = activator.Instantiate(typeof(DataSet)); Assert.AreNotSame(instance1, instance2); }
public void UsesActivatorClassToCreateObjects() { var activator = new DefaultViewActivator(); var instance = activator.Instantiate(typeof(DataSet)); Assert.IsNotNull(instance); Assert.IsInstanceOf <DataSet>(instance); }
public void CreateViewInstance() { var type = typeof(TestView); var factory = new DefaultViewActivator(); var activator = factory.Register(type); var view = activator.Activate(type); Assert.IsNotNull(view); Assert.IsAssignableFrom(typeof(TestView), view); }
public void OnlySupportsTypesWithPublicParameterlessConstructor() { var activator = new DefaultViewActivator(); Assert.Throws <NotSupportedException>(() => activator.Instantiate(typeof(X))); }
public void ViewTypeIsRequired() { var activator = new DefaultViewActivator(); Assert.Throws <ArgumentNullException>(() => activator.Instantiate(null)); }