public String Execute(String url, String teamName)
        {
            CheckoutServiceProxy.ICheckoutClient client = CheckoutServiceProxy.CheckoutClientFactory.create(url);
            Requirements requirements = new Requirements();

            if (requirements.retrieve(client, teamName))
            {
                return(String.Format("Requirements for this round:#n'{0}'", requirements.Detail));
            }
            else
            {
                return(requirements.ErrorMessage);
            }
        }
        public String Execute(String url, String teamName)
        {
            CheckoutServiceProxy.ICheckoutClient client = CheckoutServiceProxy.CheckoutClientFactory.create(url);
            Requirements requirements = new Requirements();

            if (requirements.retrieve(client, teamName))
            {
                return String.Format("Requirements for this round:#n'{0}'", requirements.Detail);
            }
            else
            {
                return requirements.ErrorMessage;
            }
        }
        public void ShouldRetrieveRequirements()
        {
            // Arrange
            String teamName = "AnyName";
            String requirementDetail = "Round 0\nWell done!";
            Requirements requirements = new Requirements();

            ICheckoutClient client = A.Fake<ICheckoutClient>(x => x.Strict());

            A.CallTo(() => client.get<RequirementResponse>(String.Format("/Checkout/Requirements/{0}", teamName)))
                .ReturnsLazily((String path) => Tuple.Create(System.Net.HttpStatusCode.Created, new RequirementResponse { requirements = requirementDetail }));

            // Act
            bool retrieved = requirements.retrieve(client, teamName);

            // Assert
            Assert.IsTrue(retrieved);
            Assert.AreEqual(requirementDetail, requirements.Detail);
        }