Exemplo n.º 1
0
        public OperationResult <Guid?> CreateProcessMacro(ProcessMacroEditDto dto)
        {
            //Validazione argomenti
            if (dto == null)
            {
                throw new ArgumentNullException(nameof(dto));
            }

            //Dichiaro la lista di risultati di ritorno
            IList <ValidationResult> vResults = new List <ValidationResult>();

            //Definisco l'entità
            ProcessMacro entity = new ProcessMacro();

            entity.Name    = dto.Name;
            entity.Value   = dto.Value;
            entity.Process = dto.Process.HasValue ? _processRepository.Load(dto.Process) : null;

            //Eseguo la validazione logica
            vResults = ValidateEntity(entity);

            if (!vResults.Any())
            {
                //Salvataggio su db
                _processMacroRepository.Save(entity);
            }

            //Ritorno i risultati
            return(new OperationResult <Guid?>
            {
                ReturnedValue = entity.Id,
                ValidationResults = vResults
            });
        }
Exemplo n.º 2
0
        public OperationResult <Guid?> DeleteProcessMacro(Guid?id)
        {
            //Validazione argomenti
            if (!id.HasValue)
            {
                throw new ArgumentNullException(nameof(id));
            }

            //Dichiaro la listsa di risultati di ritorno
            IList <ValidationResult> vResults = new List <ValidationResult>();

            //Definisco l'entità
            ProcessMacro entity = _processMacroRepository.Load(id);

            //Eseguo la validazione logica
            vResults = ValidateEntity(entity);

            if (!vResults.Any())
            {
                //Salvataggio su db
                _processMacroRepository.Delete(entity);
            }

            //Ritorno i risultati
            return(new OperationResult <Guid?>
            {
                ReturnedValue = null,
                ValidationResults = vResults
            });
        }
        public void FindTaskLengthTest()
        {
            //arrange
            var testSplits = new List <int>()
            {
                1
            };
            var totalLength = 5;

            //act
            var taskLength = ProcessMacro.FindTaskLength(testSplits, totalLength);

            //assert
            Assert.AreEqual(4, taskLength);
        }
        public void FindCommandSplitsTest()
        {
            //arange
            var    processMacro   = new ProcessMacro();
            var    currentFile    = new CommonFunctions.FileHandling();
            string filepath       = AppDomain.CurrentDomain.BaseDirectory + "\\macrotest.demcr";
            int    lengthExpected = 4;

            //act
            var rawData = currentFile.ReadFile(filepath);
            var splits  = processMacro.FindCommandSplits(rawData);

            //assert
            Assert.AreEqual(lengthExpected, splits.Count);
        }
        public void ExtractTaskTypeTest()
        {
            //arrange
            var    processMacro = new ProcessMacro();
            var    currentFile  = new CommonFunctions.FileHandling();
            string filepath     = AppDomain.CurrentDomain.BaseDirectory + "\\Absolute APT X 10, 10, 10.demcr";

            //act
            //get initial tasks
            var rawData     = currentFile.ReadFile(filepath);
            var splits      = processMacro.FindCommandSplits(rawData);
            var listofTasks = ProcessMacro.SplitTasks(rawData, splits);

            //apply macro
            string type     = processMacro.ExtractTaskType(listofTasks[0]);
            string expected = "Move Absolute";

            //assert
            Assert.AreEqual(expected, type);
        }
        public void SplitTasksTest()
        {
            //arange
            var    processMacro      = new ProcessMacro();
            var    currentFile       = new CommonFunctions.FileHandling();
            string filepath          = AppDomain.CurrentDomain.BaseDirectory + "\\Absolute APT X 10, 10, 10.demcr";
            string filepathFirstLine = AppDomain.CurrentDomain.BaseDirectory + "\\firstline.demcr";

            //act
            var    rawData     = currentFile.ReadFile(filepath);
            string firstLine   = currentFile.ReadFileSingleLine(filepathFirstLine);
            var    splits      = processMacro.FindCommandSplits(rawData);
            var    listofTasks = ProcessMacro.SplitTasks(rawData, splits);

            string expected = firstLine.Substring(0, 10);
            string actual   = listofTasks[0];

            actual = actual.Substring(0, 10);

            //assert
            Assert.AreEqual(expected, actual);
        }