public TestInterval(DateTime start, TimeSpan length, Programmer programmer) : base(null) { this.Programmer = programmer; this.StartTime = start; this.EndTime = start + length; }
public void SwitchController(Programmer programmer) { if (programmer == pairingSession.CurrentInterval.Programmer) return; pairingSession.StopCurrentInterval(); pairingSession.StartNewInterval(programmer); }
public TestSession(Programmer programmer1, Programmer programmer2, IList<Interval> intervals) : base(null) { this.Programmer1 = programmer1; this.Programmer2 = programmer2; this.intervals = intervals; }
public void Start(Programmer programmer1, Programmer programmer2) { intervals.Clear(); this.programmer1 = programmer1; this.programmer2 = programmer2; StartNewInterval(Programmer.Neither); }
public Session(IntervalFactory intervalFactory) { this.intervalFactory = intervalFactory; this.programmer1 = Programmer.Neither; this.programmer2 = Programmer.Neither; intervals = new List<Interval>(); this.IntervalTimeout = new TimeSpan(0, 0, 10); }
public void SessionWith1IntervalResultsIn1ProgrammerWith100Percent() { var programmerJoe = new Programmer("Joe"); var intervals = new List<Interval>(); intervals.Add(new TestInterval(new DateTime(2000, 1, 1, 0, 0, 0), new TimeSpan(0, 0, 10), programmerJoe)); var session = new TestSession(programmerJoe, new Programmer("Bob"), intervals); var statGenerator = new SessionPercentageStatisticGenerator(); var results = statGenerator.Generate(session); Assert.That(results.Count, Is.EqualTo(1)); Assert.That(results[programmerJoe].Percentage, Is.EqualTo(100)); }
public void LockNameEntryGetsCalledOnTheViewWhenTheViewRaisesStartButton_Clicked() { var programmer1 = new Programmer("Joe"); var programmer2 = new Programmer("Bob"); var mockView = new Mock<PairTrackerView>(); mockView.Setup(v => v.LockNameEntry()); var presenter = new PairTrackerPresenterBuilder().WithView(mockView.Object).Build(); mockView.Raise(v => v.StartButton_Clicked += null, new StartButtonClickedEventArgs(programmer1, programmer2)); mockView.VerifyAll(); }
public void DisplayControllerGetsCalledOnTheViewWhenTheViewRaisesControllerChanged() { var programmer1 = new Programmer("Joe"); var programmer2 = new Programmer("Bob"); var mockView = new Mock<PairTrackerView>(); mockView.Setup(v => v.DisplayController(programmer1)); var presenter = new PairTrackerPresenterBuilder().WithView(mockView.Object).Build(); mockView.Raise(v => v.StartButton_Clicked += null, new StartButtonClickedEventArgs(programmer1, programmer2)); mockView.Raise(v => v.Controller_Changed += null, new ControllerChangedEventArgs(programmer1)); mockView.VerifyAll(); }
public void SessionWith2EqualIntervalsResultsIn2ProgrammersWith50PercentEach() { var programmerJoe = new Programmer("Joe"); var programmerBob = new Programmer("Bob"); var intervals = new List<Interval>(); intervals.Add(new TestInterval(new DateTime(2000, 1, 1, 0, 0, 0), new TimeSpan(0, 0, 5), programmerJoe)); intervals.Add(new TestInterval(new DateTime(2000, 1, 1, 0, 0, 5), new TimeSpan(0, 0, 5), programmerBob)); var session = new TestSession(programmerJoe, programmerBob, intervals); var statGenerator = new SessionPercentageStatisticGenerator(); var results = statGenerator.Generate(session); Assert.That(results.Count, Is.EqualTo(2)); Assert.That(results[programmerJoe].Percentage, Is.EqualTo(50)); Assert.That(results[programmerBob].Percentage, Is.EqualTo(50)); }
public void SessionWith2IntervalsOfOddLengthsResultsInTotalOf100Percent() { var programmerJoe = new Programmer("Joe"); var programmerBob = new Programmer("Bob"); var intervals = new List<Interval>(); intervals.Add(new TestInterval(new DateTime(2000, 1, 1, 0, 0, 0), new TimeSpan(0, 0, 1), programmerJoe)); intervals.Add(new TestInterval(new DateTime(2000, 1, 1, 0, 0, 1), new TimeSpan(0, 0, 7), programmerBob)); var session = new TestSession(programmerJoe, programmerBob, intervals); var statGenerator = new SessionPercentageStatisticGenerator(); var results = statGenerator.Generate(session); Assert.That(results.Count, Is.EqualTo(2)); Assert.That(results[programmerJoe].Percentage, Is.EqualTo(12)); Assert.That(results[programmerBob].Percentage, Is.EqualTo(88)); }
public void SwitchController(Programmer programmer) { throw new NotImplementedException(); }
public void StopCallsSave() { var programmer1 = new Programmer("Joe"); var programmer2 = new Programmer("Bob"); var stubSession = new Mock<PairingSession>(); var stubView = new Mock<PairTrackerView>(); var mockRepository = new Mock<Repository<PairingSession>>(); mockRepository.Setup(r => r.Save(stubSession.Object)); var presenter = new PairTrackerPresenterBuilder().WithView(stubView.Object).WithModel(stubSession.Object).WithRepository(mockRepository.Object).Build(); stubView.Raise(v => v.StopButton_Clicked += null, new EventArgs()); mockRepository.VerifyAll(); }
public StartButtonClickedEventArgs(Programmer programmer1, Programmer programmer2) : base() { this.Programmer1 = programmer1; this.Programmer2 = programmer2; }
public void Initialize(Programmer programmer1, Programmer programmer2) { Programmer1 = programmer1; Programmer2 = programmer2; }
public void DisplayController(Programmer programmer) { controllerName.Text = programmer.Name + " is currently typing."; }
public void Start(Programmer programmer) { this.Programmer = programmer; StartTime = clock.Now; }
public void SwitchController(Programmer programmer) { if (programmer != CurrentInterval.Programmer) { StopCurrentInterval(); StartNewInterval(programmer); } }
private void startButton_Click(object sender, EventArgs e) { programmer1 = new Programmer(programmerOneName.Text); programmer2 = new Programmer(programmerTwoName.Text); if(StartButton_Clicked != null) StartButton_Clicked(this, new StartButtonClickedEventArgs(programmer1, programmer2)); }
public void SwitchController(Programmer programmer) { CurrentState.SwitchController(programmer); }
private void StartNewInterval(Programmer programmer) { CurrentInterval = intervalFactory.Create(); CurrentInterval.Start(programmer); }
public ControllerChangedEventArgs(Programmer programmer) : base() { this.Programmer = programmer; }
private void btnStart_Click(object sender, EventArgs e) { inputDevice.KeyPressed += handler; programmer1 = new Programmer(txtProgrammerOne.Text); programmer2 = new Programmer(txtProgrammerTwo.Text); if(StartButton_Clicked != null) StartButton_Clicked(this, new StartButtonClickedEventArgs(programmer1, programmer2)); tracking = true; }