public void BringThePain() { var updatedBuildState = GetCurrentBuild(); var buildContext = new BuildContext(currentBuildState, missileService); currentBuildState = buildContext.UpdateTo(updatedBuildState); }
public DevPunisher(IMissileLauncherService missileService, IBuildFetcherService buildService) { this.buildService = buildService; this.missileService = missileService; currentBuildState = GetCurrentBuild(); }
public abstract Build TakeActionFrom(Build previousBuild);
public override Build TakeActionFrom(Build previousBuild) { previousBuild.ReportBuildPassed(); return this; }
public override Build TakeActionFrom(Build previousBuild) { previousBuild.With(missileLauncher).ReportBuildPassed(); return this; }
public override Build TakeActionFrom(Build previousBuild) { previousBuild.ReportBuildBuilding(); return previousBuild; }
public override Build TakeActionFrom(Build previousBuild) { previousBuild.With(missileLauncher).ReportBuildBuilding(); return previousBuild; }
public Build UpdateTo(Build newBuild) { return newBuild .With(missileService) .TakeActionFrom(origionalBuild); }
public BuildContext(Build origionalBuild,IMissileLauncherService missileService) { this.origionalBuild = origionalBuild; this.missileService = missileService; }