Beispiel #1
0
        public static TcxDataFactory CreateDefault()
        {
            Func <SourcedStream, ITcxData> lemond = (r) =>
            {
                var provider = LeMondCsvDataProvider.Create(r);
                var reader   = new LeMondDataReader(provider);
                return(new LeMondTcxData(reader));
            };
            Func <SourcedStream, ITcxData> computrainer3DP = (r) =>
            {
                var provider = new CompuTrainer3DPFileProvider(r);
                return(new CompuTrainerTcxData(provider));
            };
            Func <SourcedStream, ITcxData> computrainerTXT = (r) =>
            {
                var provider = new CompuTrainerTXTFileProvider(r);
                return(new CompuTrainerTcxData(provider));
            };

            return(new TcxDataFactory(lemond, computrainer3DP, computrainerTXT));
        }
        public void TestProviderHeaderRead()
        {
            var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("TestCsvToTcxConverter.John-CompuTrainer_TimeTrial-2012-01-04-21-44-16.3dp");
            var provider = new CompuTrainer3DPFileProvider(new SourcedStream() { Stream = stream, Source = "resourceStream" });
            Assert.AreEqual(new DateTime(2012, 01, 04, 21, 27, 0, DateTimeKind.Local), provider.StartTime);
            Assert.AreEqual("John", provider.UserName);
            Assert.AreEqual(43, provider.Age);
            Assert.AreEqual(75.30, Math.Round(provider.WeightKilos, 2));
            Assert.AreEqual(200, provider.UpperHeartRate);
            Assert.AreEqual(0, provider.LowerHeartRate);

            bool foundPoint1 = false;
            bool foundPoint2 = false;
            foreach (var point in provider.Samples)
            {
                if (point.TimeMilisecondElapsed == 0)
                {
                    Assert.AreEqual(78, point.CadenceRpm);
                    Assert.AreEqual(0, point.DistanceKilometerElapsed);
                    Assert.AreEqual(0, point.GradePercent);
                    Assert.AreEqual(121, point.HeartRateBpm);
                    Assert.AreEqual(252, point.PowerWatts);
                    Assert.AreEqual(21.0, point.SpeedMph);
                    foundPoint1 = true;
                }
                else if (point.TimeMilisecondElapsed == 2347)
                {
                    Assert.AreEqual(85, point.CadenceRpm);
                    Assert.AreEqual(0.0229, Math.Round(point.DistanceKilometerElapsed, 4));
                    Assert.AreEqual(-0.0037, Math.Round(point.GradePercent, 4));
                    Assert.AreEqual(124, point.HeartRateBpm);
                    Assert.AreEqual(359, point.PowerWatts);
                    Assert.AreEqual(22.48, Math.Round(point.SpeedMph, 2));
                    foundPoint2 = true;
                }
            }

            Assert.IsTrue(foundPoint1);
            Assert.IsTrue(foundPoint2);
        }
        public static TcxDataFactory CreateDefault()
        {
            Func<SourcedStream, ITcxData> lemond = (r) =>
                {
                    var provider = LeMondCsvDataProvider.Create(r);
                    var reader = new LeMondDataReader(provider);
                    return new LeMondTcxData(reader);

                };
            Func<SourcedStream, ITcxData> computrainer3DP = (r) =>
                {
                    var provider = new CompuTrainer3DPFileProvider(r);
                    return new CompuTrainerTcxData(provider);
                };
            Func<SourcedStream, ITcxData> computrainerTXT = (r) =>
            {
                var provider = new CompuTrainerTXTFileProvider(r);
                return new CompuTrainerTcxData(provider);
            };

            return new TcxDataFactory(lemond, computrainer3DP, computrainerTXT);
        }
 public CompuTrainerTcxData(CompuTrainer3DPFileProvider provider)
 {
     this.provider = provider;
 }