예제 #1
0
        public void GetTest(NumArrayData numArrayData, IEnumerable <int> expected)
        {
            //It's kinda hacky to test it this way put I'm just concerned
            //that the saved file stays the same
            //and, of course, could have de-coupled from the SortTest stub object
            //but it doesn't make any difference
            _sorter.Sort(numArrayData);

            NumArrayData res = _sorter.GetSorted();

            Assert.Equal(res.Array, expected);
        }
예제 #2
0
        public bool SaveSorted(NumArrayData numArrayData)
        {
            try{
                string jsonString = JsonSerializer.Serialize(numArrayData);

                File.WriteAllText(SAVE_FILE, jsonString);
                return(true);
            }
            catch {
                return(false);
            }
        }
예제 #3
0
        public NumArrayData GetSorted()
        {
            try{
                string jsonString = File.ReadAllText(SAVE_FILE);

                NumArrayData numArrayData = JsonSerializer.Deserialize <NumArrayData>(jsonString);

                return(numArrayData);
            }
            catch {
                throw new Exception("Could read the saved file.");
            }
        }
예제 #4
0
        public IActionResult GetSortedFile()
        {
            NumArrayData sorted = _sorter.GetSorted();

            if (sorted == null)
            {
                return(StatusCode(500, "Could not get sorted."));
            }

            NumArrayDataRW numArrayDataR = _mapper.Map <NumArrayData, NumArrayDataRW>(sorted);

            return(Ok(numArrayDataR));
        }
예제 #5
0
        public IActionResult SortFile(NumArrayDataRW numArrayDataW)
        {
            NumArrayData numArrayData = _mapper.Map <NumArrayDataRW, NumArrayData>(numArrayDataW);

            var result = _sorter.Sort(numArrayData);

            if (result)
            {
                var numArrayDataR = _mapper.Map <NumArrayData, NumArrayDataRW>(numArrayData);
                return(Created(nameof(GetSortedFile), numArrayDataR));
            }
            else
            {
                return(StatusCode(500, "Could not sort."));
            }
        }
예제 #6
0
        public bool Sort(NumArrayData numArrayData)
        {
            try{
                // Could be just:
                // numArrayData.Array.Sort();
                QuickSort(numArrayData.Array, 0, numArrayData.Array.Count - 1);

                var res = _fileRepo.SaveSorted(numArrayData);

                if (!res)
                {
                    throw new System.Exception("Could not save to file");
                }
                return(true);
            }
            catch {
                return(false);
            }
        }
예제 #7
0
        public void SortTest(NumArrayData numArrayData, IEnumerable <int> expected)
        {
            _sorter.Sort(numArrayData);

            Assert.Equal(numArrayData.Array, expected);
        }