示例#1
0
        public void BringThePain()
        {
            var updatedBuildState = GetCurrentBuild();
            var buildContext = new BuildContext(currentBuildState, missileService);

            currentBuildState = buildContext.UpdateTo(updatedBuildState);
        }
示例#2
0
        public DevPunisher(IMissileLauncherService missileService, IBuildFetcherService buildService)
        {
            this.buildService = buildService;
            this.missileService = missileService;

            currentBuildState = GetCurrentBuild();
        }
示例#3
0
 public abstract Build TakeActionFrom(Build previousBuild);
 public override Build TakeActionFrom(Build previousBuild)
 {
     previousBuild.ReportBuildPassed();
     return this;
 }
示例#5
0
 public override Build TakeActionFrom(Build previousBuild)
 {
     previousBuild.With(missileLauncher).ReportBuildPassed();
     return this;
 }
 public override Build TakeActionFrom(Build previousBuild)
 {
     previousBuild.ReportBuildBuilding();
     return previousBuild;
 }
示例#7
0
 public override Build TakeActionFrom(Build previousBuild)
 {
     previousBuild.With(missileLauncher).ReportBuildBuilding();
     return previousBuild;
 }
示例#8
0
 public Build UpdateTo(Build newBuild)
 {
     return newBuild
         .With(missileService)
         .TakeActionFrom(origionalBuild);
 }
示例#9
0
 public BuildContext(Build origionalBuild,IMissileLauncherService missileService)
 {
     this.origionalBuild = origionalBuild;
     this.missileService = missileService;
 }