Esempio n. 1
0
        public virtual void Request(SpecificationRequest request)
        {
            ThrowArgumentExceptionIfArgIsNull(request, "request");

            HandleRequest(request);

            if (SuccessorSpecified())
            {
                successor.Request(request);
            }
        }
Esempio n. 2
0
        public override void HandleRequest(SpecificationRequest request)
        {
            Expression<Func<Changeset, bool>> expression = request.Specification.IsSatisfiedByExpression();

            object value = GetValueFromExpressionBody(expression);

            if (expression.Body.ToString().Contains("Revision"))
            {
                var val = Convert.ToInt32(value);
                if (val < 1)
                {
                    val = 1;
                }
                request.Query.RevisionFrom = new ChangesetVersionSpec(val);
                request.Query.RevisionTo = VersionSpec.Latest;
            }

            if (expression.Body.ToString().Contains("Username"))
            {
                var val = Convert.ToString(value);
                request.Query.Author.Username = val;
            }

            if (expression.Body.ToString().Contains("Amount"))
            {
                var val = Convert.ToInt32(value);
                request.Query.MaxRevisions = val;
            }
        }
Esempio n. 3
0
 public abstract void HandleRequest(SpecificationRequest request);
        public void Assure_can_handle_revision_numbers_less_than_one()
        {
            QueryModel queryModel = null;
            RevisionHandler revisionHandler = null;
            SpecificationRequest specificationRequest = null;

            Scenario.StartNew(this, scenario =>
            {
                scenario.Given("a query model and revision handler exist", () =>
                {
                    queryModel = new QueryModel();
                    revisionHandler = new RevisionHandler();
                    specificationRequest =
                        new SpecificationRequest(new ChangesetsAfterRevisionSpecification(0), queryModel);
                });

                scenario.When("all changesets are requested, including revision zero (domain-specific)",() =>
                {
                    revisionHandler.HandleRequest(specificationRequest);
                });

                scenario.Then("the query model should request changsets from revision 1 and up", () =>
                {
                    queryModel.RevisionFrom.ChangesetId.ShouldBe(1);
                });
            });
        }