public void GetEmpty_InputNull_ReturnEmpty(string[] data)
        {
            // Arrange
            var expected = new List <AttributeDescription>();
            // Act
            var actual = AttributeColumnConverter.ConvertColumns2Attributes(data);

            // Assert
            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
        public Result <FileData> ConvertFile(string filename, string[] data)
        {
            try
            {
                var isFileHasAppriopriateExtension = _fileChecker.IsFileHasAppriopriateExtension(filename);

                if (!isFileHasAppriopriateExtension)
                {
                    return(new Result <FileData>(NieprawidloweRozszerzenie));
                }
                var result = new FileData
                {
                    FileName = filename,
                    RawData  = data,
                };

                var dataModel = GetDataModel(result.RawData);
                result.Observations    = dataModel.Value.Rows;
                result.DataDescription = dataModel.Value.Columns;
                result.Attributes      = _attributeColumnConverter.ConvertColumns2Attributes(result.DataDescription).ToArray();
                var length      = result.Observations.Length;
                var dataObject  = result.Observations.Take(length * 2 / 3).ToArray();
                var testObjects = result.Observations.Except(dataObject).ToArray();
                DataObjectHelper.SchemeObject = null;
                result.DataObjects            = ConvertRows2DataObjects(result.Attributes, dataObject);
                result.TestObjects            = ConvertRows2DataObjects(result.Attributes, testObjects, result.DataObjects.Max(x => x.Id + 1));

                var joinedSring = string.Empty;
                if (result.RawData != null)
                {
                    joinedSring = result.RawData.Aggregate(joinedSring,
                                                           (current, nextRow) => current + nextRow + Environment.NewLine);
                }

                var newLineSignLength = Environment.NewLine.Length;

                result.JoinedString = joinedSring.Remove(joinedSring.Length - newLineSignLength, newLineSignLength);;

                return(new Result <FileData>(result));
            }
            catch (Exception e)
            {
                return(new Result <FileData>(e));
            }
        }