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);
        }
        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);
        }
        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);
        }