public void CheckDecorator_WrongUserName()
        {
            string ownerName = "James Bond";

            IDecoratorSolution riskList = new DecoratorSolutionBase();

            riskList = new ByOwnerNameDecorator(riskList, ownerName);

            var result = riskList.GetRisks().ToList();

            Assert.True(result.Count == 0);
        }
        public void CheckDecorator_UserName_KeySensitive()
        {
            string ownerName = "Person 5";

            IDecoratorSolution riskList = new DecoratorSolutionBase();

            riskList = new ByOwnerNameDecorator(riskList, ownerName);

            var result = riskList.GetRisks().ToList();

            Assert.True(result.Count == 3);
            Assert.True(result[0].Owner.Name.ToLower() == ownerName.ToLower());
            Assert.True(result[1].Owner.Name.ToLower() == ownerName.ToLower());
            Assert.True(result[2].Owner.Name.ToLower() == ownerName.ToLower());
        }
        public void CheckDecorator_WithoutTitle()
        {
            string     ownerName = "Person 5";
            RiskStatus notStatus = RiskStatus.Open;

            IDecoratorSolution riskList = new DecoratorSolutionBase();

            riskList = new ByOwnerNameDecorator(riskList, ownerName);
            riskList = new DiffrentStatesOfRiskDecorator(riskList, notStatus);


            var result = riskList.GetRisks().ToList();

            Assert.True(result.Count == 1);
            Assert.True(result[0].Owner.Name == ownerName);
            Assert.True(result[0].Status != RiskStatus.Open);
        }
        public void CheckDecorator_AllMethods()
        {
            RiskStatus notStatus = RiskStatus.Open;
            string     title     = "fire";
            string     ownerName = "Person 5";

            IDecoratorSolution riskList = new DecoratorSolutionBase();

            riskList = new ByOwnerNameDecorator(riskList, ownerName);
            riskList = new DiffrentStatesOfRiskDecorator(riskList, notStatus);
            riskList = new ByRiskTitleDecorator(riskList, title);

            var result = riskList.GetRisks().ToList();

            Assert.True(result.Count == 1);
            Assert.True(result[0].Owner.Name.ToLower() == ownerName.ToLower());
            Assert.True(result[0].Title.Contains(title));
            Assert.True(result[0].Status != RiskStatus.Open);
        }
        public void CheckDecorator_WitoutStatus()
        {
            string ownerName = "Person 5";
            string title     = "fire";

            IDecoratorSolution riskList = new DecoratorSolutionBase();

            riskList = new ByOwnerNameDecorator(riskList, ownerName);
            riskList = new ByRiskTitleDecorator(riskList, title);

            var result = riskList.GetRisks().ToList();

            Assert.True(result.Count == 3);
            Assert.True(result[0].Owner.Name == ownerName);
            Assert.True(result[1].Owner.Name == ownerName);
            Assert.True(result[2].Owner.Name == ownerName);
            Assert.True(result[0].Title.Contains(title, System.StringComparison.InvariantCultureIgnoreCase));
            Assert.True(result[1].Title.Contains(title, System.StringComparison.InvariantCultureIgnoreCase));
            Assert.True(result[2].Title.Contains(title, System.StringComparison.InvariantCultureIgnoreCase));
        }