public void Mine()
        {
            var policyMiner     = new PolicyMiner();
            var sessionActivity = new SessionActivity();

            var policy = policyMiner.Mine(sessionActivity);

            Assert.IsInstanceOfType(policy, typeof(Policy));
        }
        public void Mine()
        {
            _dataServiceMock.Setup(c => c.ServePolicy(TestSessionActivity)).Returns(_policy);

            var result = _policyMiner.Mine(TestSessionActivity);

            Assert.AreEqual(_policy, result);

            _dataServiceMock.Verify(c => c.ServePolicy(TestSessionActivity), Times.Once);

            _dataServiceMock.VerifyNoOtherCalls();
        }
        public virtual void Mine()
        {
            var policy = new Policy();

            _dataServicesMock.Setup(c => c.PolicyService(TestSessionActivity)).Returns(_policy);

            var result = _policyMiner.Mine(TestSessionActivity);

            // Assert
            Assert.AreSame(_policy, result);

            _dataServicesMock.Verify(c => c.PolicyService(TestSessionActivity));

            _dataServicesMock.VerifyNoOtherCalls();
        }
        public void Mine()
        {
            // Arrange
            _dataFactoryMock.Setup(c => c.CreatePolicyService()).Returns(_policyServiceMock.Object);
            _policyServiceMock.Setup(c => c.GetPolicy(_sessionActivity)).Returns(_policy);

            // Act
            var result = _policyMiner.Mine(_sessionActivity);

            // Assert
            Assert.AreEqual(_policy, result);

            _policyServiceMock.Verify(c => c.GetPolicy(_sessionActivity), Times.Once);
            _policyServiceMock.VerifyNoOtherCalls();
        }
        public Response Process(SessionActivity sessionActivity)
        {
            var policyMiner = new PolicyMiner();
            var policy      = policyMiner.Mine(sessionActivity);

            var policyMapper = new PolicyMapper();
            var policyModel  = policyMapper.Map(policy);

            var policySender  = new PolicySender();
            var responseModel = policySender.Send(policyModel);

            var responseMapper = new ResponseMapper();
            var response       = responseMapper.Map(responseModel);

            return(response);
        }
        public virtual Response Process(SessionActivity sessionActivity)
        {
            var policy     = _policyMiner.Mine(sessionActivity);
            var validation = _policyValidator.Validate(policy);

            if (validation == false)
            {
                return(new Response
                {
                    Message = "Failed validation",
                    Successful = false
                });
            }

            var policyModel   = _policyMapper.Map(policy);
            var responseModel = _policySender.Send(policyModel);
            var response      = _responseMapper.Map(responseModel);

            return(response);
        }
        public virtual Response Process(SessionActivity sessionActivity)
        {
            var policy = _policyMiner.Mine(sessionActivity);
            var valid  = _policyValidator.Validate(policy);

            if (!valid)
            {
                Response failedResponse = new Response
                {
                    Successful = false,
                    Message    = "This response is not valid"
                };

                return(failedResponse);
            }

            var policyModel   = _policyMapper.Map(policy);
            var responseModel = _policySender.Send(policyModel);
            var response      = _responseMapper.Map(responseModel);

            return(response);
        }