Example #1
0
        static void Main(string[] args)
        {
            uint maxValidLenth = 2;
            uint minValidLenth = 1;

            IVisualizer         visualizer         = new ConsoleUI();
            IInnerDataValidator innerDataValidator = new InnerDataValidator(minValidLenth, maxValidLenth);
            IAlgoritmSelector   algoritmSelector   = new AlgoritmSelector(innerDataValidator, minValidLenth, maxValidLenth);

            Controller controller = new Controller(args, visualizer, algoritmSelector);

            controller.Start();
        }
        public void Select_IncorectInnerArray_Null()
        {
            uint minLenth = 1;
            uint maxLenth = 2;

            string[] array = null;
            Mock <IInnerDataValidator> validator = new Mock <IInnerDataValidator>();

            validator.Setup(x => x.ValidateInputArray(It.Is <string[]>(val => val == null))).Returns(false);
            AlgoritmSelector algoritmSelector = new AlgoritmSelector(validator.Object, minLenth, maxLenth);

            IAlgorithm result = algoritmSelector.Select(array);

            Assert.IsNull(result);
        }
        public void Select_ValidArrayLenthOne_SequenceScript()
        {
            uint minLenth = 1;
            uint maxLenth = 2;
            uint num      = 1;

            string[]      array    = { "3" };
            AlgorithmName expected = AlgorithmName.Sequence;
            Mock <IInnerDataValidator> validator = new Mock <IInnerDataValidator>();

            validator.Setup(x => x.ValidateInputArray(It.IsAny <string[]>())).Returns(true);
            validator.Setup(x => x.ConvertArrayToParams(It.IsAny <string[]>(), out num)).Returns(true);
            AlgoritmSelector algoritmSelector = new AlgoritmSelector(validator.Object, minLenth, maxLenth);

            IAlgorithm result = algoritmSelector.Select(array);

            Assert.AreEqual(result.Name, expected);
        }