public void ExtractSimpleInformation()
        {
            //Arrange
            DataExtractedParser dep = new DataExtractedParser();
            PositionalDataLineExtrator <Test> pdle = new PositionalDataLineExtrator <Test>(dep);

            //Act
            Test testClass = pdle.Extract("1234523:49:08.277ABCDE22,50");

            //Assert
            Assert.AreEqual(testClass.MyNumber, 12345);
            Assert.AreEqual(testClass.MyTime, TimeSpan.Parse("23:49:08.277"));
            Assert.AreEqual(testClass.MyText, "ABCDE");
            Assert.AreEqual(testClass.MyDecimal, Decimal.Parse("22,50"));
        }
        static void Main(string[] args)
        {
            var dataParser = new DataExtractedParser();
            var positionalExtractorService = new PositionalDataLineExtrator <KartLap>(dataParser);

            var extractService = new ExtractKartRaceFileService(positionalExtractorService);
            var computeService = new ComputeRankingKartRaceService();
            var outputService  = new OutputKartRaceInformationService();

            KartRaceInformation raceInfo = new KartRaceInformation(extractService, computeService, outputService);

            raceInfo.ExtractDataFromFile("data.txt");
            raceInfo.ComputeRanking();
            raceInfo.GetBestLap();
            raceInfo.PrintOutput();

            Console.WriteLine("\nPress any key to exit");
            Console.ReadKey();
        }