Skip to content

Commit

Permalink
Rename PaceStep to DistancePaceStep in preparation for adding time-ba…
Browse files Browse the repository at this point in the history
…sed steps
  • Loading branch information
jpickup committed Jan 15, 2017
1 parent 4a39baa commit 4403def
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 27 deletions.
11 changes: 4 additions & 7 deletions gen/com/johnpickup/parser/WorkoutParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class WorkoutParser extends Parser {
Expand Down Expand Up @@ -332,7 +329,7 @@ public final Distance_stepContext distance_step() throws RecognitionException {
}

public static class Pace_stepContext extends ParserRuleContext {
public PaceStep value;
public DistancePaceStep value;
public DistanceContext distance;
public PaceContext pace;
public Pace_rangeContext pace_range;
Expand Down Expand Up @@ -380,7 +377,7 @@ public final Pace_stepContext pace_step() throws RecognitionException {
match(T__1);
setState(58);
((Pace_stepContext)_localctx).pace = pace();
((Pace_stepContext)_localctx).value = new PaceStep(((Pace_stepContext)_localctx).distance.value, new MaximumPace(((Pace_stepContext)_localctx).pace.value));
((Pace_stepContext)_localctx).value = new DistancePaceStep(((Pace_stepContext)_localctx).distance.value, new MaximumPace(((Pace_stepContext)_localctx).pace.value));
}
break;
case 2:
Expand All @@ -392,7 +389,7 @@ public final Pace_stepContext pace_step() throws RecognitionException {
match(T__2);
setState(63);
((Pace_stepContext)_localctx).pace = pace();
((Pace_stepContext)_localctx).value = new PaceStep(((Pace_stepContext)_localctx).distance.value, new MinimumPace(((Pace_stepContext)_localctx).pace.value));
((Pace_stepContext)_localctx).value = new DistancePaceStep(((Pace_stepContext)_localctx).distance.value, new MinimumPace(((Pace_stepContext)_localctx).pace.value));
}
break;
case 3:
Expand All @@ -404,7 +401,7 @@ public final Pace_stepContext pace_step() throws RecognitionException {
match(T__3);
setState(68);
((Pace_stepContext)_localctx).pace_range = pace_range();
((Pace_stepContext)_localctx).value = new PaceStep(((Pace_stepContext)_localctx).distance.value, ((Pace_stepContext)_localctx).pace_range.value);
((Pace_stepContext)_localctx).value = new DistancePaceStep(((Pace_stepContext)_localctx).distance.value, ((Pace_stepContext)_localctx).pace_range.value);
}
break;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@
import com.johnpickup.garmin.unit.PaceTarget;
import com.johnpickup.garmin.workout.SimplePaceWorkoutStep;
import com.johnpickup.garmin.workout.WorkoutStep;
import com.johnpickup.parser.PaceStep;
import com.johnpickup.parser.DistancePaceStep;
import com.johnpickup.parser.Step;

/**
* Convert independent pace steps into the Garmin equivalent
*/
public class PaceStepConverter implements StepConverter {
public class DistancePaceStepConverter implements StepConverter {
@Override
public WorkoutStep convert(Step step) {
PaceStep paceStep = (PaceStep)step;
DistancePaceStep distancePaceStep = (DistancePaceStep)step;

Distance d = new Distance(
paceStep.getDistance().getQuantity(),
DiatanceUnitConverter.convert(paceStep.getDistance().getUnit()));
PaceTarget p = PaceConverterFactory.getInstance().getPaceConverter(paceStep.getPace()).convert(paceStep.getPace());
distancePaceStep.getDistance().getQuantity(),
DiatanceUnitConverter.convert(distancePaceStep.getDistance().getUnit()));
PaceTarget p = PaceConverterFactory.getInstance().getPaceConverter(distancePaceStep.getPace()).convert(distancePaceStep.getPace());
SimplePaceWorkoutStep simplePaceWorkoutStep = new SimplePaceWorkoutStep(d, p);
return simplePaceWorkoutStep;
}
Expand Down
4 changes: 2 additions & 2 deletions src/com/johnpickup/converter/StepConverterFactory.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.johnpickup.converter;

import com.johnpickup.parser.DistanceStep;
import com.johnpickup.parser.PaceStep;
import com.johnpickup.parser.DistancePaceStep;
import com.johnpickup.parser.RepeatingSteps;
import com.johnpickup.parser.Step;

Expand All @@ -17,7 +17,7 @@ public class StepConverterFactory {

private StepConverterFactory() {
register(new DistanceStepConverter(), DistanceStep.class);
register(new PaceStepConverter(), PaceStep.class);
register(new DistancePaceStepConverter(), DistancePaceStep.class);
register(new RepeatingStepsConverter(), RepeatingSteps.class);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@RequiredArgsConstructor
@ToString
@EqualsAndHashCode(callSuper = false)
public class PaceStep extends Step {
public class DistancePaceStep extends Step {
@Getter
private final Distance distance;
@Getter
Expand Down
12 changes: 6 additions & 6 deletions test/com/johnpickup/excel/ExcelWorkoutScheduleReaderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,29 @@ private WorkoutSchedule createExpected() {
expected.getPaces().put("Easy", new PaceRange(new Time(9,0), new Time(10,30), PaceUnit.MIN_PER_MILE));
expected.getPaces().put("Slow", new PaceRange(new Time(10,0), new Time(15,0), PaceUnit.MIN_PER_MILE));

Workout fiveMileSlow = new Workout(Collections.singletonList(new PaceStep(new Distance(5, DistanceUnit.MILE), new PaceName("Slow"))));
Workout fiveMileSlow = new Workout(Collections.singletonList(new DistancePaceStep(new Distance(5, DistanceUnit.MILE), new PaceName("Slow"))));
expected.getWorkouts().put("5mi Slow", fiveMileSlow);
List<Step> intervalSteps = new ArrayList<>();
intervalSteps.add(new DistanceStep(new Distance(1, DistanceUnit.MILE)));
RepeatingSteps repeatingSteps = new RepeatingSteps(new PaceStep(new Distance(1, DistanceUnit.MILE), new PaceName("Fast")));
repeatingSteps.addStep(new PaceStep(new Distance(400, DistanceUnit.METRE), new PaceName("Easy")));
RepeatingSteps repeatingSteps = new RepeatingSteps(new DistancePaceStep(new Distance(1, DistanceUnit.MILE), new PaceName("Fast")));
repeatingSteps.addStep(new DistancePaceStep(new Distance(400, DistanceUnit.METRE), new PaceName("Easy")));
repeatingSteps.setRepetitions(4);
intervalSteps.add(repeatingSteps);
intervalSteps.add(new DistanceStep(new Distance(1, DistanceUnit.MILE)));
Workout intervalWorkout = new Workout(intervalSteps);
expected.getWorkouts().put("4x1mi Interval", intervalWorkout);
Workout sixMileSteady = new Workout(Collections.singletonList(new PaceStep(new Distance(6, DistanceUnit.MILE), new PaceName("Steady"))));
Workout sixMileSteady = new Workout(Collections.singletonList(new DistancePaceStep(new Distance(6, DistanceUnit.MILE), new PaceName("Steady"))));
expected.getWorkouts().put("6mi Steady", sixMileSteady);

expected.getSchedule().add(new ScheduledWorkout(buildDate(2017,1,10), fiveMileSlow));
expected.getSchedule().add(new ScheduledWorkout(buildDate(2017,1,20), intervalWorkout));
expected.getSchedule().add(new ScheduledWorkout(buildDate(2017,1,30), sixMileSteady));
List<Step> onePlusFourSteps = new ArrayList<>();
onePlusFourSteps.add(new DistanceStep(new Distance(1, DistanceUnit.MILE)));
onePlusFourSteps.add(new PaceStep(new Distance(4, DistanceUnit.MILE), new PaceName("Brisk")));
onePlusFourSteps.add(new DistancePaceStep(new Distance(4, DistanceUnit.MILE), new PaceName("Brisk")));
Workout onePlusFourMileBrisk = new Workout(onePlusFourSteps);
expected.getSchedule().add(new ScheduledWorkout(buildDate(2017,2,1), onePlusFourMileBrisk));
Workout threeMileExplicit = new Workout(Collections.singletonList(new PaceStep(new Distance(3, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(10,0), PaceUnit.MIN_PER_MILE))));
Workout threeMileExplicit = new Workout(Collections.singletonList(new DistancePaceStep(new Distance(3, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(10,0), PaceUnit.MIN_PER_MILE))));
expected.getSchedule().add(new ScheduledWorkout(buildDate(2017,2,11), threeMileExplicit));

expected.getWorkouts().put("1mi+4mi@Brisk",onePlusFourMileBrisk);
Expand Down
10 changes: 5 additions & 5 deletions test/com/johnpickup/parser/WorkoutTextParserTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@ public void parseSimpleDistance() throws Exception {
@Test
public void parseSimplePace() throws Exception {
Workout actual = classUnderTest.parse("1mi@08:00-09:30/mi");
Workout expected = new Workout(Collections.singletonList(new PaceStep(new Distance(1, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(9, 30), PaceUnit.MIN_PER_MILE))));
Workout expected = new Workout(Collections.singletonList(new DistancePaceStep(new Distance(1, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(9, 30), PaceUnit.MIN_PER_MILE))));
assertEquals(expected, actual);
}

@Test
public void parseSimpleNamedPace() throws Exception {
Workout actual = classUnderTest.parse("1mi@FAST");
Workout expected = new Workout(Collections.singletonList(new PaceStep(new Distance(1, DistanceUnit.MILE), new PaceName("FAST"))));
Workout expected = new Workout(Collections.singletonList(new DistancePaceStep(new Distance(1, DistanceUnit.MILE), new PaceName("FAST"))));
assertEquals(expected, actual);
}

Expand All @@ -46,7 +46,7 @@ public void parseMultiStep() throws Exception {
Workout actual = classUnderTest.parse("1mi + 4mi@08:00-09:30/mi + 1mi");
List<Step> steps = new ArrayList<>();
steps.add(new DistanceStep(new Distance(1, DistanceUnit.MILE)));
steps.add(new PaceStep(new Distance(4, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(9, 30), PaceUnit.MIN_PER_MILE)));
steps.add(new DistancePaceStep(new Distance(4, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(9, 30), PaceUnit.MIN_PER_MILE)));
steps.add(new DistanceStep(new Distance(1, DistanceUnit.MILE)));
Workout expected = new Workout(steps);
assertEquals(expected, actual);
Expand All @@ -56,8 +56,8 @@ public void parseMultiStep() throws Exception {
@Test
public void parseInterval() throws Exception {
Workout actual = classUnderTest.parse("(1mi@08:00-09:30/mi + 400m@10:00-12:30/mi) * 4");
RepeatingSteps repeatingSteps = new RepeatingSteps(new PaceStep(new Distance(1, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(9, 30), PaceUnit.MIN_PER_MILE)));
repeatingSteps.addStep(new PaceStep(new Distance(400, DistanceUnit.METRE), new PaceRange(new Time(10,0), new Time(12, 30), PaceUnit.MIN_PER_MILE)));
RepeatingSteps repeatingSteps = new RepeatingSteps(new DistancePaceStep(new Distance(1, DistanceUnit.MILE), new PaceRange(new Time(8,0), new Time(9, 30), PaceUnit.MIN_PER_MILE)));
repeatingSteps.addStep(new DistancePaceStep(new Distance(400, DistanceUnit.METRE), new PaceRange(new Time(10,0), new Time(12, 30), PaceUnit.MIN_PER_MILE)));
repeatingSteps.setRepetitions(4);
Workout expected = new Workout(Collections.singletonList(repeatingSteps));
assertEquals(expected, actual);
Expand Down

0 comments on commit 4403def

Please sign in to comment.