コード例 #1
0
        public void ConsumablesWork()
        {
            var positionListStub      = new PositionListStub();
            var positionListValidator = new PositionListValidator(positionListStub);
            var consumables           = positionListValidator.Consumables;

            Assert.AreEqual(new DTO.Consumable(1, "water", 0), consumables[0]);
        }
コード例 #2
0
        public void ReraiseEventOfDependency()
        {
            var  position              = new DTOPosition(3, "3", "3");
            var  positionListStub      = new PositionListStub();
            var  positionListValidator = new PositionListValidator(positionListStub);
            bool invoked = false;
            EventHandler <PositionListChangedEventArgs> handler = (sender, e) => invoked = true;

            positionListValidator.PositionListChanged += handler;
            positionListValidator.AddPosition(position);
            Assert.IsTrue(invoked);
        }
コード例 #3
0
        public void CantUpdateNonExistingPosition()
        {
            var    position              = new DTOPosition(3, "1", "1");
            var    positionListStub      = new PositionListStub();
            var    positionListValidator = new PositionListValidator(positionListStub);
            string error = null;
            EventHandler <PositionListChangedEventArgs> handler = (sender, e) => error = e.Error;

            positionListValidator.PositionListChanged += handler;
            positionListValidator.LoadPositionList();
            positionListValidator.UpdatePosition(position);
            Assert.AreEqual("Position 1 cannot be found", error);
        }
コード例 #4
0
        public void PositionsPropertyReturnsPositionsFromDependency()
        {
            var positionListStub      = new PositionListStub();
            var positionListValidator = new PositionListValidator(positionListStub);

            positionListValidator.LoadPositionList();
            var expected = positionListStub.Positions;
            var actual   = positionListValidator.Positions;

            Assert.AreEqual(expected[0], actual[0]);
            Assert.AreEqual(expected[1], actual[1]);
            Assert.AreEqual(expected.Count, actual.Count);
        }
コード例 #5
0
        public void CantRepeatPositionName_withAddMethod()
        {
            var    position              = new DTOPosition(3, "1", "1");
            var    positionListStub      = new PositionListStub();
            var    positionListValidator = new PositionListValidator(positionListStub);
            string error = null;
            EventHandler <PositionListChangedEventArgs> handler = (sender, e) => error = e.Error;

            positionListValidator.PositionListChanged += handler;
            positionListValidator.LoadPositionList();
            positionListValidator.AddPosition(position);
            Assert.AreEqual("Name 1 is already taken", error);
        }
コード例 #6
0
        public void AddPositionMethod_InvokesDependencyAddPositionMethod_IfPositionPassesValidation()
        {
            var  position         = new DTOPosition(3, "3", "3");
            var  positionListStub = new PositionListStub();
            bool invoked          = false;
            EventHandler <PositionListChangedEventArgs> handler = (sender, e) => invoked = true;

            positionListStub.PositionListChanged += handler;
            var positionListValidator = new PositionListValidator(positionListStub);

            positionListValidator.AddPosition(position);
            Assert.IsTrue(invoked);
        }
コード例 #7
0
        public void CanUpdateCategoryOnly()
        {
            var    position              = new DTOPosition(2, "2", "1");
            var    positionListStub      = new PositionListStub();
            var    positionListValidator = new PositionListValidator(positionListStub);
            string error = null;
            EventHandler <PositionListChangedEventArgs> handler = (sender, e) => error = e.Error;

            positionListValidator.PositionListChanged += handler;
            positionListValidator.LoadPositionList();
            positionListValidator.UpdatePosition(position);
            Assert.IsNull(error);
        }
コード例 #8
0
        public void CantUpdateToExistingName()
        {
            var    position              = new DTOPosition(2, "1", "1");
            var    positionListStub      = new PositionListStub();
            var    positionListValidator = new PositionListValidator(positionListStub);
            string error = null;
            EventHandler <PositionListChangedEventArgs> handler = (sender, e) => error = e.Error;

            positionListValidator.PositionListChanged += handler;
            positionListValidator.LoadPositionList();
            positionListValidator.UpdatePosition(position);
            Assert.AreEqual("Name 1 is already taken", error);
        }