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)); }