public virtual Repository Load() { var repository = new Repository(); foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) { if (IsDesiredAssembly(assembly)) { foreach (var type in assembly.GetTypes()) { foreach (var method in type.GetMethods(StepDefinition.MethodFlags)) { if (StepDefinition.IsValidMethod(method)) { repository.StepDefinitions.Add(new StepDefinition(method)); _objectFactory.AddClass(method.ReflectedType); } if (BeforeHook.IsValidMethod(method)) { repository.BeforeHooks.Add(new BeforeHook(method)); _objectFactory.AddClass(method.ReflectedType); } if (AfterHook.IsValidMethod(method)) { repository.AfterHooks.Add(new AfterHook(method)); _objectFactory.AddClass(method.ReflectedType); } } } } } return(repository); }
public virtual Repository Load() { var repository = new Repository(); foreach (var assemblyPath in _assemblyPaths) { var assembly = Assembly.LoadFrom(assemblyPath); foreach (var type in assembly.GetTypes()) { foreach (var method in type.GetMethods(StepDefinition.MethodFlags)) { if (StepDefinition.IsValidMethod(method)) { repository.StepDefinitions.Add(new StepDefinition(method)); _objectFactory.AddClass(method.ReflectedType); } if (BeforeHook.IsValidMethod(method)) { repository.BeforeHooks.Add(new BeforeHook(method)); _objectFactory.AddClass(method.ReflectedType); } if (AfterHook.IsValidMethod(method)) { repository.AfterHooks.Add(new AfterHook(method)); _objectFactory.AddClass(method.ReflectedType); } } } } return(repository); }
public void Should_have_GetObject_method() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); objectFactory.CreateObjects(); Dummy dummy = (Dummy) objectFactory.GetObject(typeof(Dummy)); }
public void Should_have_DisposeObjects_method() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); objectFactory.CreateObjects(); objectFactory.DisposeObjects(); }
public void Should_invoke_method_successfully() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(ValidHooks)); objectFactory.CreateObjects(); var method = Reflection.GetMethod(typeof(ValidHooks), "Before1"); var hook = new Hook(method); hook.Invoke(objectFactory); }
public void Invoke_should_throw_when_method_throws() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(ValidHooks)); objectFactory.CreateObjects(); var method = Reflection.GetMethod(typeof(ValidHooks), "ThrowsException"); var hook = new Hook(method); hook.Invoke(objectFactory); }
public void Should_return_null_from_GetObject_after_DisposeObjects_is_called() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); objectFactory.CreateObjects(); Assert.That(objectFactory.GetObject(typeof(Dummy)), Is.Not.Null); objectFactory.DisposeObjects(); Assert.That(objectFactory.GetObject(typeof(Dummy)), Is.Null); }
public void Successful_invocation_of_instance_should_not_throw() { var objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(ValidStepDefinitions)); objectFactory.CreateObjects(); var stepDefinition = new StepDefinition(GetValidMethod("Instance")); stepDefinition.Invoke(objectFactory); }
public void Should_return_same_object_from_multiple_GetObject_calls() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); objectFactory.CreateObjects(); Dummy dummy1 = (Dummy)objectFactory.GetObject(typeof(Dummy)); dummy1.Value = "foo"; Dummy dummy2 = (Dummy)objectFactory.GetObject(typeof(Dummy)); Assert.That(dummy2.Value, Is.EqualTo("foo")); }
public void Should_return_null_from_GetObject_if_CreateObjects_not_called_first() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); Assert.That(objectFactory.GetObject(typeof(Dummy)), Is.Null); }
public void Should_have_AddClass_method() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); }
public void Should_successfully_create_an_object_without_a_parameterless_constructor() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(DummyBox)); objectFactory.CreateObjects(); DummyBox dummyBox = (DummyBox)objectFactory.GetObject(typeof(DummyBox)); }
public void Should_invoke_tagged_hook_when_scenario_has_matching_tag() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(ValidHooks)); objectFactory.CreateObjects(); var method = Reflection.GetMethod(typeof(ValidHooks), "BeforeWithTagThrowsException"); var hook = new Hook(method); Assert.Throws<Exception>(() => hook.Invoke(objectFactory, new string[] {"my_tag"})); }
public void Should_not_invoke_tagged_hook_when_scenario_has_no_tags() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(ValidHooks)); objectFactory.CreateObjects(); var method = Reflection.GetMethod(typeof(ValidHooks), "BeforeWithTagThrowsException"); var hook = new Hook(method); hook.Invoke(objectFactory, new string[0]); }