コード例 #1
0
        public void ResultModify_WhenCommandApplied_ValidModifiedLineItemAdded()
        {
            var result = new SenatorialResult();
            CreateSenatorialResultCommand cmdCreate = DefaultCreateSenatorialResultCommand();

            result.Apply(cmdCreate);
            AddSenatorialLineItemsCommand cmdLineItem = DefaultAddSenatorialLineItemsCommand(2, cmdCreate.ApplyToResult, result.PollingCentre, result.ResultSender);

            result.Apply(cmdLineItem);
            ConfirmSenatorialResultsCommand cmdConfirm = DefaultConfirmPresidentalResultsCommand(3, cmdLineItem.ApplyToResult, result.PollingCentre, result.ResultSender);

            result.Apply(cmdConfirm);
            ModifySenatorialResultsCommand cmd = DefaultModifySenatorialResultsCommand(4, cmdConfirm.ApplyToResult, result.PollingCentre, result.ResultSender);

            //act
            result.Apply(cmd);
            //assert
            Assert.That(result.LineItems.Count(), Is.EqualTo(2));
            Assert.That(result.Id, Is.EqualTo(cmd.ApplyToResult.Id));
            Assert.That(result.Status, Is.EqualTo(ResultStatus.Modified));
            SenatorialResultLineItem lineItem = result.LineItems[1];

            Assert.That(lineItem.Candidate, Is.EqualTo(cmd.ResultDetail[0].Candidate));
            Assert.That(lineItem.ResultCount, Is.EqualTo(cmd.ResultDetail[0].Result));
        }
コード例 #2
0
        public void ResultConfirm_WhenCommandApplied_ResultStatusConfirmed()
        {
            var result = new SenatorialResult();
            CreateSenatorialResultCommand cmdCreate = DefaultCreateSenatorialResultCommand();

            result.Apply(cmdCreate);
            AddSenatorialLineItemsCommand cmdLineItem = DefaultAddSenatorialLineItemsCommand(2, cmdCreate.ApplyToResult, result.PollingCentre, result.ResultSender);

            result.Apply(cmdLineItem);
            ConfirmSenatorialResultsCommand cmd = DefaultConfirmPresidentalResultsCommand(3, cmdLineItem.ApplyToResult, result.PollingCentre, result.ResultSender);

            //act
            result.Apply(cmd);
            //assert
            Assert.That(result.Status, Is.EqualTo(ResultStatus.Confirmed));
        }
コード例 #3
0
        public SenatorialResult Confirm(SenatorialResult result, ResultInfo originatingInfo)
        {
            CommandInfo commandInfo = new CommandInfo
            {
                CommandGeneratedByUser   = originatingInfo.CommandGeneratedByUser,
                OriginatingPollingCentre = originatingInfo.OriginatingPollingCentre,
            };
            ConfirmSenatorialResultsCommand confirmSenatorialResultsCommand = new ConfirmSenatorialResultsCommand
            {
                CommandId = Guid.NewGuid(),
                CommandGeneratedByUser   = commandInfo.CommandGeneratedByUser,
                OriginatingPollingCentre = commandInfo.OriginatingPollingCentre,
                ApplyToResult            = result.GetResultRef(),
                CommandExecutionOrder    = result.LastResultCommandExecutedOrder + 1,
            };

            result.Apply(confirmSenatorialResultsCommand);
            return(result);
        }