public void Should_ignore_record_starting_with_dot_R()
        {
            var record = ".R/TKNE";
            var actual = RecordParser.IsIgnoreLine(record);

            Assert.AreEqual(true, actual);
        }
Пример #2
0
        private void LoadFiles(object sender, RoutedEventArgs e)
        {
            var fileDialog = new OpenFileDialog
            {
                InitialDirectory = _settingsManager.LastSearchedFolder,
                Multiselect      = true
            };

            fileDialog.ShowDialog();
            if (0 == fileDialog.FileNames.Length)
            {
                return;
            }
            _settingsManager.LastSearchedFolder = Path.GetDirectoryName(fileDialog.FileName);
            try
            {
                analysisResults = RecordParser.Parse(fileDialog.FileNames);
            } catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            dgrdAnalyticResults.DataContext = analysisResults;
            dgrdAnalyticResults.Items.Refresh();
        }
Пример #3
0
        public void TestGoodData(string data)
        {
            RecordParser rp    = new RecordParser(new DummyErrorLogger());
            var          items = rp.FromString(new string[] { data });

            items.Count().Should().Be(1);
        }
Пример #4
0
    public IEnumerable <IAstNode> Parse()
    {
        while (Current is not null)
        {
            switch (Current.TokenType)
            {
            case TokenType.KwRecord:
                var recordNode = new RecordParser(this).Parse();
                if (recordNode is not null)
                {
                    yield return(recordNode);
                }
                break;

            case TokenType.KwComponent:
                var componentNode = new ComponentParser(this).Parse();
                if (componentNode is not null)
                {
                    yield return(componentNode);
                }
                break;

            default:
                Take();
                break;
            }
        }
    }
Пример #5
0
        public void ParseFailInputLength()
        {
            var    input = "first,last,gender,11/11/2016";
            Action act   = () => RecordParser.ParseLineWithDelimiter(input, ",");

            Assert.Throws <ArgumentException>(act);
        }
Пример #6
0
        public XmlReaderExportLoader(Stream data)
        {
            var elements = Read(data)
                           .Select(e =>
            {
                var isRecord = e.Item1 == "Record";
                var record   = isRecord ? RecordParser.ParseRecord(e.Item2) : null;
                var workout  = isRecord ? null : WorkoutParser.Dictionary.ParseWorkout(e.Item2);
                return(new { isRecord, record, workout });
            })
                           .Aggregate(Tuple.Create(new List <Record>(), new List <Workout>()), (acc, item) =>
            {
                if (item.isRecord)
                {
                    acc.Item1.Add(item.record);
                }
                else
                {
                    acc.Item2.Add(item.workout);
                }
                return(acc);
            });

            Records  = elements.Item1;
            Workouts = elements.Item2;
        }
        public void Should_not_locate_record_when_record_incomplete()
        {
            var record = " .L/LVGVUP";
            var actual = RecordParser.ValidRecordLocator(record, out int foundIndex);

            Assert.AreEqual(false, actual);
        }
Пример #8
0
        public void TestParse()
        {
            RecordParser parser = new RecordParser();
            Record       record = parser.Parse("123. abcd");

            Assert.Equal(new Record(123, "abcd"), record);
        }
        public void ParseFailDelimiter()
        {
            var    input = "first1,last1,gender1,color1,11/11/2016";
            Action act   = () => RecordParser.ParseLineWithDelimiter(input, "|");

            Assert.Throws <ArgumentException>(act);
        }
        public void ParseDelimiter()
        {
            var res    = RecordParser.ParseLineWithDelimiter("first1,last1,gender1,color1,11/11/2016", ",");
            var output = new Code.Record("first1", "last1", "gender1", "color1", Convert.ToDateTime("11/11/2016"));

            Assert.Equal(res, output);
        }
        public void Should_not_locate_record_when_format_is_wrong()
        {
            var record = "1ARNOLD/NIGELMR-B2.L/LVGVUP";
            var actual = RecordParser.ValidRecordLocator(record, out int foundIndex);

            Assert.AreEqual(false, actual);
        }
        public void ParseEmpty()
        {
            var    input = "";
            Action act   = () => RecordParser.ParseLineWithDelimiter(input, ",");

            Assert.Throws <ArgumentException>(act);
        }
Пример #13
0
        public void TestToString()
        {
            RecordParser parser = new RecordParser();
            Record       record = new Record(123, "abcd");

            Assert.Equal("123. abcd", parser.ToString(record));
        }
Пример #14
0
        public void ParseRecord_MissingBirthDate()
        {
            var data         = "Doe|John|Male|Blue|";
            var recordParser = new RecordParser();
            var record       = recordParser.ParseRecord(data);

            Assert.IsNotNull(record);
        }
Пример #15
0
 public static DistanceCycling FromRecord(Record record, DateTimeZone zone)
 {
     return(new DistanceCycling
     {
         StartDate = record.StartDate.InZone(zone),
         Distance = RecordParser.Distance(record)
     });
 }
Пример #16
0
        public void TestGetBinaryRepresentation(string hexDataRecord, int baseAddress, byte[] expectedBinaryRepresentation)
        {
            var uut = RecordParser.ParseRecord(hexDataRecord);

            var representation = uut.GetBinaryRepresentation(baseAddress);

            Assert.AreEqual(expectedBinaryRepresentation, representation);
        }
Пример #17
0
        public void ParseFiles_2Records_Space()
        {
            var path         = @"Data\2-Space-Valid.txt";
            var recordParser = new RecordParser();
            var recordList   = recordParser.ParseFiles(new[] { path });

            Assert.AreEqual(recordList.Count(), 2);
        }
Пример #18
0
        public void ParseFiles_0Records()
        {
            var path         = @"Data\0-Valid.txt";
            var recordParser = new RecordParser();
            var recordList   = recordParser.ParseFiles(new [] { path });

            Assert.AreEqual(recordList.Count(), 0);
        }
Пример #19
0
        public void ParseRecord_MixedCaseGender()
        {
            var data         = "Doe|John|mAlE|Blue|2001-01-01";
            var recordParser = new RecordParser();
            var record       = recordParser.ParseRecord(data);

            Assert.IsNotNull(record);
        }
Пример #20
0
        public void ParseRecord_BadDelimiter()
        {
            var data         = "Doe.John.Male.Blue.2001-01-11";
            var recordParser = new RecordParser();
            var record       = recordParser.ParseRecord(data);

            Assert.IsNull(record);
        }
Пример #21
0
        public void ParseRecord_MissingColor()
        {
            var data         = "Doe|John|Male||2001-01-01";
            var recordParser = new RecordParser();
            var record       = recordParser.ParseRecord(data);

            Assert.IsNotNull(record);
        }
        public void Should_locate_record_index_at_18()
        {
            var record = "1ARNOLD/NIGELMR-B2 .L/LVGVUP";
            var actual = RecordParser.ValidRecordLocator(record, out int foundIndex);

            Assert.AreEqual(true, actual);
            Assert.AreEqual(18, foundIndex);
        }
Пример #23
0
        public void ParseFiles_MissingBirthDate()
        {
            var path         = @"Data\2-MissingBirthDate-Invalid.txt";
            var recordParser = new RecordParser();
            var recordList   = recordParser.ParseFiles(new[] { path });

            Assert.AreEqual(recordList.Count(), 2);
        }
Пример #24
0
        public void ParseSimplePipe()
        {
            var input  = "first|last|gender|color|11/11/2016";
            var output = new Record("first", "last", "gender", "color", Convert.ToDateTime("11/11/2016"));
            var res    = RecordParser.TryParseLine(input);

            Assert.Equal(res.Item1, output);
        }
        public void Should_parse_correctly_when_correct_input_is_given()
        {
            var record       = "1ARNOLD/NIGELMR-B2 .L/LVGVUP";
            var recordParser = new RecordParser();

            recordParser.ParseRecord(record, out string passengerName, out string recordLocator);
            Assert.AreEqual("ARNOLD/NIGELMR", passengerName);
            Assert.AreEqual("LVGVUP", recordLocator);
        }
Пример #26
0
        public RecordParserTests()
        {
            var parsers = new IParser[] {
                new InitialParser(','),
                new GenericParser(','),
                new StringParser(','),
                new QuoteParser(',')
            };

            this.target = new RecordParser(parsers);
        }
Пример #27
0
        public void Parse2()
        {
            var input = new List <string> {
                "first1,last1,gender1,color1,11/11/2016", "first2,last2, gender2, color2, 11/11/2016"
            };
            var output = new List <Record> {
                new Record("first1", "last1", "gender1", "color1", Convert.ToDateTime("11/11/2016")), new Record("first2", "last2", "gender2", "color2", Convert.ToDateTime("11/11/2016"))
            };
            var res = RecordParser.ParseLines(input);

            Assert.Equal(res, output);
        }
        public void ParseFailInputLength()
        {
            var input = new List <string> {
                "first1,last1,gender1,color1,11/11/2016", "first2,last2, gender2, color2, 11/11/2016"
            };
            var output = new List <Code.Record> {
                new Code.Record("first", "last", "gender", "color", Convert.ToDateTime("11/11/2016")), new Code.Record("first", "last", "gender", "color", Convert.ToDateTime("11/11/2016"))
            };
            var res = RecordParser.ParseLines(new List <string>());

            Assert.Equal(res, res);
        }
Пример #29
0
        public void Setup()
        {
            // Would normally create some mock objects. In this case
            // the record repository pretty much already is a mock
            // implementation of a repository anyway, i.e.,
            // it doesn't really access a database.
            //
            var recordParser     = new RecordParser();
            var recordSorter     = new RecordSorter();
            var recordRepository = new RecordRepository(recordSorter);

            _recordsController = new RecordsController(recordParser, recordRepository);
        }
Пример #30
0
        static int Main(string[] args)
        {
            // Create services classes that will be injected into Application instance
            //
            var recordParser = new RecordParser();
            var recordSorter = new RecordSorter();

            // Create a run the application
            //
            var application = new Application(args, recordParser, recordSorter);

            return(application.Run());
        }