Beispiel #1
0
        public void GetWorkoutType_Should_Map_Correctly([Values] FitnessDiscipline fitnessDiscipline, [Values] bool hasGPS)
        {
            var workout = new P2GWorkout()
            {
                Workout = new Workout()
                {
                    Fitness_Discipline = fitnessDiscipline
                },
                WorkoutSamples = new WorkoutSamples()
                {
                    Location_Data = hasGPS ? new List <LocationData>()
                    {
                        new LocationData()
                    } : null
                }
            };

            var workoutType = workout.WorkoutType;

            switch (fitnessDiscipline)
            {
            case FitnessDiscipline.None: workoutType.Should().Be(WorkoutType.None); break;

            case FitnessDiscipline.Bike_Bootcamp: workoutType.Should().Be(WorkoutType.BikeBootcamp); break;

            case FitnessDiscipline.Cardio: workoutType.Should().Be(WorkoutType.Cardio); break;

            case FitnessDiscipline.Circuit: workoutType.Should().Be(WorkoutType.Circuit); break;

            case FitnessDiscipline.Cycling: workoutType.Should().Be(WorkoutType.Cycling); break;

            case FitnessDiscipline.Meditation: workoutType.Should().Be(WorkoutType.Meditation); break;

            case FitnessDiscipline.Strength: workoutType.Should().Be(WorkoutType.Strength); break;

            case FitnessDiscipline.Stretching: workoutType.Should().Be(WorkoutType.Stretching); break;

            case FitnessDiscipline.Yoga: workoutType.Should().Be(WorkoutType.Yoga); break;

            case FitnessDiscipline.Running when hasGPS: workoutType.Should().Be(WorkoutType.OutdoorRunning); break;

            case FitnessDiscipline.Running: workoutType.Should().Be(WorkoutType.TreadmillRunning); break;

            case FitnessDiscipline.Walking when hasGPS: workoutType.Should().Be(WorkoutType.OutdoorRunning); break;

            case FitnessDiscipline.Walking: workoutType.Should().Be(WorkoutType.TreadmillWalking); break;
            }
        }
        public void GetDeviceInfo_ChoosesUserDevice_WhenProvided(FitnessDiscipline sport)
        {
            // SETUP
            var mocker = new AutoMocker();
            var config = new Settings()
            {
                Format = new Format()
                {
                    DeviceInfoPath = "somePath"
                }
            };

            mocker.Use(config);

            var converter = mocker.CreateInstance <ConverterInstance>();

            var fileHandler            = mocker.GetMock <IFileHandling>();
            GarminDeviceInfo outDevice = new GarminDeviceInfo()
            {
                Name      = "UserDevice",            // Max 20 Chars
                ProductID = GarminProduct.Amx,
                UnitId    = 1,
                Version   = new GarminDeviceVersion()
                {
                    VersionMajor = 11,
                    VersionMinor = 10,
                    BuildMajor   = 0,
                    BuildMinor   = 0,
                }
            };

            fileHandler.Setup(x => x.TryDeserializeXml <GarminDeviceInfo>("somePath", out outDevice))
            .Returns(true);

            // ACT
            var deviceInfo = converter.GetDeviceInfo1(sport);

            // ASSERT
            deviceInfo.Name.Should().Be("UserDevice");
            deviceInfo.ProductID.Should().Be(GarminProduct.Amx);
            deviceInfo.UnitId.Should().Be(1);
            deviceInfo.Version.Should().NotBeNull();
            deviceInfo.Version.VersionMajor.Should().Be(11);
            deviceInfo.Version.VersionMinor.Should().Be(10);
            deviceInfo.Version.BuildMajor.Should().Be(0);
            deviceInfo.Version.BuildMinor.Should().Be(0);
        }
        public void GetDeviceInfo_ForNonCycling_ShouldReturn_DefaultDevice(FitnessDiscipline sport)
        {
            // SETUP
            var mocker    = new AutoMocker();
            var converter = mocker.CreateInstance <ConverterInstance>();

            // ACT
            var deviceInfo = converter.GetDeviceInfo1(sport);

            // ASSERT
            deviceInfo.Name.Should().Be("Forerunner 945");
            deviceInfo.ProductID.Should().Be(GarminProduct.Fr945);
            deviceInfo.UnitId.Should().Be(1);
            deviceInfo.Version.Should().NotBeNull();
            deviceInfo.Version.VersionMajor.Should().Be(19);
            deviceInfo.Version.VersionMinor.Should().Be(2);
            deviceInfo.Version.BuildMajor.Should().Be(0);
            deviceInfo.Version.BuildMinor.Should().Be(0);
        }
        protected GarminDeviceInfo GetDeviceInfo(FitnessDiscipline sport)
        {
            GarminDeviceInfo userProvidedDeviceInfo = null;
            var userDevicePath = _config.Format.DeviceInfoPath;

            if (!string.IsNullOrEmpty(userDevicePath))
            {
                if (_fileHandler.TryDeserializeXml(userDevicePath, out userProvidedDeviceInfo))
                {
                    return(userProvidedDeviceInfo);
                }
            }

            if (sport == FitnessDiscipline.Cycling)
            {
                return(CyclingDevice);
            }

            return(DefaultDevice);
        }
 public GarminDeviceInfo GetDeviceInfo1(FitnessDiscipline sport)
 {
     return(base.GetDeviceInfo(sport));
 }