Пример #1
0
        private void createButton_Click(object sender, EventArgs e)
        {
            ObserverCreationForm modalDialogForm = new ObserverCreationForm();
            modalDialogForm.Text = "New Observer";
            modalDialogForm.ObserverTitle = string.Format("Observer #{0}", manager.Observers.Count + 1);
            if (modalDialogForm.ShowDialog() == DialogResult.OK)
            {
                RacerObserver observer;

                if (modalDialogForm.Type == ObserverType.Support)
                    observer = new SupportObserver(modalDialogForm.To, modalDialogForm.Header, modalDialogForm.Footer, modalDialogForm.Quotes);

                else if (modalDialogForm.Type == ObserverType.CheatingDetector)
                    observer = new CheatingDetector(modalDialogForm.To, modalDialogForm.Header, modalDialogForm.Footer, modalDialogForm.Quotes);

                else
                    observer = new BigScreenObserver(new BigScreenForm());

                observer.Title = modalDialogForm.ObserverTitle;
                manager.AddObserver(observer);

                selectedObserver = null;
                observerView.SelectedIndices.Clear();
                refreshObserverView();
                refreshRacerLists();
            }
        }
Пример #2
0
        public void TestSubscribe()
        {
            Racer.Racer r = new Racer.Racer("Drew", "Torgeson", 1, 1);

            RacerObserver observer = new RacerObserver();

            r.Subscribe(observer);
            Assert.That(r.Observers.Contains(observer), Is.True);

            Assert.DoesNotThrow(() => r.Subscribe(null));
        }
Пример #3
0
        public void TestUpdate()
        {
            Racer.Racer r = new Racer.Racer("Drew", "Torgeson", 1, 1);
            RacerObserver observer = new RacerObserver();

            observer.Update(r);
            Assert.That(observer.Racers[r.Bib], Is.EqualTo(r));

            Assert.DoesNotThrow(() => observer.Update(null));

            r.GroupID = 2;
            observer.Update(r);
            Assert.That(observer.Racers[r.Bib].GroupID, Is.EqualTo(r.GroupID));
        }
Пример #4
0
        private void observerView_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (observerView.SelectedIndices.Count == 1)
            {
                selectedObserver = manager.Observers[observerView.SelectedIndices[0]];
                unsubscribeButton.Enabled = true;
                subscribeButton.Enabled = true;
            }
            else
            {
                selectedObserver = null;
                unsubscribeButton.Enabled = true;
                subscribeButton.Enabled = true;
            }

            refreshRacerLists();
        }
Пример #5
0
        public void TestRemove()
        {
            Racer.Racer r1 = new Racer.Racer("Drew", "Torgeson", 1, 1);
            Racer.Racer r2 = new Racer.Racer("Drew", "Torgeson", 2, 1);
            Racer.Racer r3 = new Racer.Racer("Drew", "Torgeson", 3, 1);
            Racer.Racer r4 = new Racer.Racer("Drew", "Torgeson", 4, 1);
            RacerObserver observer = new RacerObserver();

            observer.Racers.Add(r1.Bib, r1);
            observer.Racers.Add(r2.Bib, r2);
            observer.Racers.Add(r3.Bib, r3);

            observer.Remove(r4);
            Assert.That(observer.Racers.Count, Is.EqualTo(3));
            Assert.That(observer.Racers.ContainsValue(r4), Is.EqualTo(false));

            observer.Remove(r3);
            Assert.That(observer.Racers.Count, Is.EqualTo(2));
            Assert.That(observer.Racers.ContainsValue(r3), Is.EqualTo(false));

            Assert.DoesNotThrow(() => observer.Remove(null));
        }
Пример #6
0
 public void RemoveObserver(RacerObserver observer)
 {
     if (Observers.Contains(observer))
         Observers.Remove(observer);
 }
Пример #7
0
 public void AddObserver(RacerObserver observer)
 {
     if(!Observers.Contains(observer))
         Observers.Add(observer);
 }