Exemplo n.º 1
0
        public void Get_ReturnExceptionIfNoDocumentToResolve()
        {
            ResolveController controller = new ResolveController();
            string            title      = "";
            string            authors    = "";
            string            year       = "";

            SetupControllerForTests(controller, "http://localhost:56736/resolve/", "resolver", "{controller}");

            bool   wasCorrectExceptionThrown = false;
            string exceptionMessage          = string.Empty;

            try
            {
                controller.Get(title, authors, year);
            }
            catch (Exception ex)
            {
                do
                {
                    if (ex.Message == "Please supply a document to resolve.")
                    {
                        wasCorrectExceptionThrown = true;
                        exceptionMessage          = ex.Message;
                        break;
                    }
                    ex = ex.InnerException;
                } while (ex != null);
            }
            Assert.IsTrue(wasCorrectExceptionThrown, "Actual exception: " + exceptionMessage);
        }
Exemplo n.º 2
0
        public void Get_ReturnOKForValidResolution()
        {
            ResolveController   controller = new ResolveController();
            string              title      = "A new Zodariid spider from Panama";
            string              authors    = "Chickering, A M";
            string              year       = "1957";
            HttpStatusCode      expected   = HttpStatusCode.OK;
            HttpResponseMessage actual;

            SetupControllerForTests(controller, "http://localhost:56736/resolve/", "resolver", "{controller}");

            actual = controller.Get(title, authors, year);
            Assert.AreEqual(expected, actual.StatusCode);
        }
Exemplo n.º 3
0
        public static object GetControllerFor(Type contractType)
        {
            object         presenter = null;
            ControllerInfo pi        = null;

            if (_controllerTypes.ContainsKey(contractType))
            {
                pi = _controllerTypes[contractType];
            }
            if (pi == null)
            {
                var  args          = new ResolveControllerEventArgs(contractType);
                Type presenterType = null;
                if (ResolveController != null)
                {
                    foreach (var resolver in ResolveController.GetInvocationList())
                    {
                        ((ResolveControllerEventHandler)resolver).Invoke(null, args);
                        if (args.ControllerType != null)
                        {
                            presenterType = args.ControllerType;
                            break;
                        }
                    }
                }
                if (presenterType != null)
                {
                    pi = InternalAdd(contractType, presenterType);
                }
            }
            if (pi != null)
            {
                presenter = pi.Instance;
            }
            return(presenter);
        }
Exemplo n.º 4
0
 public ResolveBuilder(ResolveController controller)
 {
     Guard.NotNull(controller, nameof(controller));
     _controller = controller;
 }