public void CallSingle_Exception_PassedAndNoOutput()
            {
                BrokerContext.Initialize(CprBroker.Utilities.Constants.BaseApplicationToken.ToString(), "");
                var facade = new FacadeStub();
                var prov   = new FacadeStub.ProviderStub()
                {
                    _GetOne = (s) =>
                    {
                        throw new Exception();
                    }
                };

                FacadeStub.Element[] ret;
                var elements = new FacadeStub.ElementStub[] {
                    new FacadeStub.ElementStub()
                    {
                        Input = "DDD", Succeeded = true, Updatable = true
                    },
                    new FacadeStub.ElementStub()
                    {
                        Input = "SSS", Succeeded = true, Updatable = true
                    }
                };

                facade.CallSingle(prov, elements, out ret);
                Assert.AreEqual("DDD", elements[0].Input);
                Assert.Null(elements[0].Output);

                Assert.AreEqual("SSS", elements[1].Input);
                Assert.Null(elements[1].Output);
            }
            public void CallSingle_Failed_ResultPropagated()
            {
                var facade = new FacadeStub();
                var prov   = new FacadeStub.ProviderStub()
                {
                    _GetOne = (s) => s, _ImmediateUpdatePreferred = false
                };

                FacadeStub.Element[] ret;
                var elements = new FacadeStub.ElementStub[] { new FacadeStub.ElementStub()
                                                              {
                                                                  Input = "DDD", Succeeded = false, Updatable = false
                                                              } };

                facade.CallSingle(prov, elements, out ret);
                Assert.AreEqual("DDD", elements[0].Output);
            }