public void Should_have_DisposeObjects_method() { ObjectFactory objectFactory = new ObjectFactory(); objectFactory.AddClass(typeof(Dummy)); objectFactory.CreateObjects(); objectFactory.DisposeObjects(); }
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 string Process(string request) { try { JArray requestObject = JArray.Parse(request); var command = requestObject[0].Value <string>(); switch (command) { case "begin_scenario": { _objectFactory.CreateObjects(); var scenarioTags = GetScenarioTags(requestObject); _repository.BeforeHooks.ForEach(hook => hook.Invoke(_objectFactory, scenarioTags)); return(SuccessResponse()); } case "end_scenario": { var scenarioTags = GetScenarioTags(requestObject); _repository.AfterHooks.ForEach(hook => hook.Invoke(_objectFactory, scenarioTags)); _objectFactory.DisposeObjects(); return(SuccessResponse()); } case "step_matches": { var nameToMatch = ((JObject)requestObject[1])["name_to_match"].Value <string>(); return(StepMatches(nameToMatch)); } case "snippet_text": { var keyword = ((JObject)requestObject[1])["step_keyword"].Value <string>().Trim(); var stepName = ((JObject)requestObject[1])["step_name"].Value <string>(); var multilineArgClass = ((JObject)requestObject[1])["multiline_arg_class"].Value <string>(); return(SnippetResponse(keyword, stepName, multilineArgClass)); } case "invoke": { var jsonArgs = (JArray)((JObject)requestObject[1])["args"]; return(Invoke(requestObject[1]["id"].Value <string>(), ToStringArray(jsonArgs))); } default: { return(FailResponse("Invalid request '" + request + "'")); } } } catch (Exception x) { Debug.LogError("Unable to process request '" + request + "': " + x.Message); return(FailResponse(x)); } }