Example #1
0
 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;
        }
Example #4
0
        public void Start(Programmer programmer1, Programmer programmer2)
        {
            intervals.Clear();
            this.programmer1 = programmer1;
            this.programmer2 = programmer2;

            StartNewInterval(Programmer.Neither);
        }
Example #5
0
        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.";
 }
Example #16
0
 public void Start(Programmer programmer)
 {
     this.Programmer = programmer;
     StartTime = clock.Now;
 }
Example #17
0
 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);
 }
 public void SwitchController(Programmer programmer)
 {
     throw new NotImplementedException();
 }
Example #21
0
 private void StartNewInterval(Programmer programmer)
 {
     CurrentInterval = intervalFactory.Create();
     CurrentInterval.Start(programmer);
 }
 public ControllerChangedEventArgs(Programmer programmer)
     : base()
 {
     this.Programmer = programmer;
 }
Example #23
0
        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;
        }