예제 #1
0
        public void TestCompare()
        {
            Team team1 = new Team(string.Empty, string.Empty);
              Team team2 = new Team("40", string.Empty);
              Team team3 = new Team("bar", string.Empty);
              Team team4 = new Team("5", string.Empty);
              Team team5 = new Team(string.Empty, "foo");
              Team team6 = new Team("13", "alpha");
              Team team7 = new Team(string.Empty, "bar");
              Team team8 = new Team(string.Empty, "baz");
              Team team9 = new Team("13", "a");
              Team team10 = new Team("13", "aloha");

              ArrayList list = new ArrayList(new Team[] {team1, team2, team3, team4,
                                                 team5, team6, team7, team8,
                                                 team9, team10});
              list.Sort(comparer_);
              Assert.AreEqual(team1, list[0]);
              Assert.AreEqual(team7, list[1]);
              Assert.AreEqual(team8, list[2]);
              Assert.AreEqual(team5, list[3]);
              Assert.AreEqual(team4, list[4]);
              Assert.AreEqual(team9, list[5]);
              Assert.AreEqual(team10, list[6]);
              Assert.AreEqual(team6, list[7]);
              Assert.AreEqual(team2, list[8]);
              Assert.AreEqual(team3, list[9]);
        }
예제 #2
0
 public ScoreRow(Team team, int rounds)
 {
     Number = team.Number;
       Name = team.Name;
       this.Scores = new int[rounds];
       for (int round = 0; round < rounds; ++round) {
     EventScore score = team.Scores[round];
     Scores[round] = (score == null) ? -1 : score.Score().Points;
       }
 }
예제 #3
0
 protected void Init(Team[] teams)
 {
     teams_.Items.Clear();
       if (teams.Length > 0) {
     foreach (Team team in teams)
       teams_.Items.Add(team);
     teams_.SelectedIndex = 0;
       } else {
     UpdateControls();
       }
 }
예제 #4
0
        public void TestChangeTeam()
        {
            Team team = new Team("foo", "bar");
              Init(new Team[] { team });
              number_.Text = "7";
              name_.Text = "hoopla";

              Assert.AreEqual(0, teams_.SelectedIndex);
              Assert.AreEqual("7", team.Number);
              Assert.AreEqual("hoopla", team.Name);
        }
예제 #5
0
        public void TestConstructorWithTeams()
        {
            Team team1 = new Team("foo", "bar");
              Team team2 = new Team(string.Empty, "baz");
              Init(new Team[] { team1, team2 });
              Assert.AreEqual(2, teams_.Items.Count);
              Assert.AreEqual(team1, teams_.Items[0]);
              Assert.AreEqual(team2, teams_.Items[1]);

              Assert.IsTrue(remove_.Enabled);
              Assert.IsTrue(input_panel_.Enabled);
              Assert.AreEqual("foo", number_.Text);
              Assert.AreEqual("bar", name_.Text);
        }
예제 #6
0
 public void SetScore(Team team, int round, EventScore score)
 {
     lock (teams_)
     team.Scores[round - 1] = score;
 }
예제 #7
0
 public void TestCompareBasic()
 {
     Team team1 = new Team(string.Empty, string.Empty);
       Team team2 = new Team(string.Empty, string.Empty);
       Assert.AreEqual(0, comparer_.Compare(team1, team2));
 }
예제 #8
0
        public void TestToString()
        {
            Team team = new Team();
              Assert.AreEqual("<no name>", team.ToString());

              team.Name = "foo";
              Assert.AreEqual("foo", team.ToString());

              team.Number = "7";
              Assert.AreEqual("7 - foo", team.ToString());

              team.Name = string.Empty;
              Assert.AreEqual("7", team.ToString());
        }
예제 #9
0
        public void TestHasString()
        {
            Team team = new Team();
              Assert.IsFalse(team.HasString());

              team.Name = string.Empty;
              Assert.IsFalse(team.HasString());

              team.Name = "foo";
              Assert.IsTrue(team.HasString());

              team.Name = string.Empty;
              Assert.IsFalse(team.HasString());

              team.Number = "foo";
              Assert.IsTrue(team.HasString());

              team.Name = "foo";
              Assert.IsTrue(team.HasString());
        }
예제 #10
0
        public void TestCompareNumber()
        {
            Team team1 = new Team("7", string.Empty);
              Team team2 = new Team(string.Empty, string.Empty);
              Assert.AreEqual(1, comparer_.Compare(team1, team2));

              team2.Number = "8";
              Assert.AreEqual(-1, comparer_.Compare(team1, team2));

              team2.Number = "6";
              Assert.AreEqual(1, comparer_.Compare(team1, team2));

              team2.Number = "50";
              Assert.AreEqual(-1, comparer_.Compare(team1, team2));

              team2.Number = "seven";
              Assert.AreEqual(-1, comparer_.Compare(team1, team2));
        }
예제 #11
0
 public void SetFromTeam(Team team)
 {
     if (team == null) {
     score_.Text = "?";
     load_.Enabled = false;
     clear_.Enabled = false;
       } else {
     score_.Text = team.GetPoints(round_);
     bool has_score = team.Scores[Round - 1] != null;
     load_.Enabled = has_score;
     clear_.Enabled = has_score;
       }
 }
예제 #12
0
 private Team SampleTeam()
 {
     Team team = new Team("foo", "bar");
       team.Scores[0] = new EventScore();
       team.Scores[0].Zero();
       team.Scores[1] = team.Scores[0].Clone();
       /* TODO
       team.Scores[1].YellowBacteriaInBase = 1;
       team.Scores[1].BallsTouchingMat = 1;
       Assert.AreEqual(10, team.Scores[1].Score().Points);
       */
       return team;
 }
예제 #13
0
        public void SetScore(int round, bool clear)
        {
            Team team = (Team)team_.SelectedItem;
            undo_team_ = team;
            undo_round_ = round;
            undo_score_ = team.Scores[round - 1];
            undo_.Text = clear ? "Undo Clear" : "Undo Set";
            undo_.Enabled = true;

            team_data_.SetScore(team, round, clear ? null : score_control_.Score);
            Save();
            UpdateScore(round);
            score_control_.Reset();
        }
예제 #14
0
        public void TestGetScoresComplex()
        {
            EventScore score_zero = new EventScore();
              score_zero.Zero();

              Team team1 = new Team("1", string.Empty);

              Team team2 = new Team("2", string.Empty);
              team2.Scores[0] = score_zero;
              team2.Scores[2] = score_zero;

              Team team3 = new Team("3", string.Empty);
              team3.Scores[1] = score_zero;

              /* TODO
              Team team4 = new Team("4", string.Empty);
              team4.Scores[0] = score_zero.Clone();  // 10
              team4.Scores[0].YellowBacteriaInBase = 1;
              team4.Scores[0].BallsTouchingMat = 1;
              team4.Scores[1] = score_zero.Clone();  // 10
              team4.Scores[1].YellowBacteriaInBase = 1;
              team4.Scores[1].BallsTouchingMat = 1;
              team4.Scores[2] = score_zero.Clone();  // 40
              team4.Scores[2].TrailerLocation = TrailerLocationEnum.Dock;
              team4.Scores[2].ThermometerSpindleFullyDropped = YesNo.Yes;

              Team team5 = new Team("5", string.Empty);
              team5.Scores[0] = score_zero.Clone();  // 40
              team5.Scores[0].TrailerLocation = TrailerLocationEnum.Dock;
              team5.Scores[0].ThermometerSpindleFullyDropped = YesNo.Yes;
              team5.Scores[1] = score_zero.Clone();  // 20
              team5.Scores[1].TrailerLocation = TrailerLocationEnum.Dock;
              team5.Scores[2] = score_zero.Clone();  // 10
              team5.Scores[2].YellowBacteriaInBase = 1;
              team5.Scores[2].BallsTouchingMat = 1;

              Team team6 = new Team("6", string.Empty);
              team6.Scores[0] = score_zero.Clone();  // 20
              team6.Scores[0].TrailerLocation = TrailerLocationEnum.Dock;
              team6.Scores[1] = score_zero.Clone();  // 40
              team6.Scores[1].TrailerLocation = TrailerLocationEnum.Dock;
              team6.Scores[1].ThermometerSpindleFullyDropped = YesNo.Yes;
              team6.Scores[2] = score_zero.Clone();  // 20
              team6.Scores[2].TrailerLocation = TrailerLocationEnum.Dock;

              Team team7 = new Team("7", string.Empty);
              team7.Scores[0] = team5.Scores[0].Clone();
              team7.Scores[1] = team5.Scores[1].Clone();
              team7.Scores[2] = team5.Scores[2].Clone();

              TeamData team_data = new TeamData();
              team_data.Teams = new Team[] {team1, team2, team3, team4, team5, team6,
                                    team7};
              ScoreRow[] scores = team_data.GetScores();
              Assert.AreEqual(7, scores.Length);
              Assert.AreEqual("6", scores[0].Number);
              Assert.AreEqual(1, scores[0].Rank);
              Assert.AreEqual("5", scores[1].Number);
              Assert.AreEqual(2, scores[1].Rank);
              Assert.AreEqual("7", scores[2].Number);
              Assert.AreEqual(2, scores[2].Rank);
              Assert.AreEqual("4", scores[3].Number);
              Assert.AreEqual(4, scores[3].Rank);
              Assert.AreEqual("2", scores[4].Number);
              Assert.AreEqual(5, scores[4].Rank);
              Assert.AreEqual("3", scores[5].Number);
              Assert.AreEqual(6, scores[5].Rank);
              Assert.AreEqual("1", scores[6].Number);
              Assert.AreEqual(7, scores[6].Rank);
              */
        }
예제 #15
0
        public void TestGetScoresEqual()
        {
            EventScore score_zero = new EventScore();
              score_zero.Zero();

              Team team1 = new Team("1", string.Empty);

              Team team2 = new Team("2", string.Empty);
              team2.Scores[0] = score_zero;
              team2.Scores[2] = score_zero;

              Team team3 = new Team("3", string.Empty);
              team3.Scores[1] = score_zero;

              Team team4 = new Team("4", string.Empty);
              team4.Scores[0] = score_zero;
              team4.Scores[1] = score_zero;
              team4.Scores[2] = score_zero;

              TeamData team_data = new TeamData();
              team_data.Teams = new Team[] {team1, team2, team3, team4};
              ScoreRow[] scores = team_data.GetScores();
              Assert.AreEqual(4, scores.Length);
              Assert.AreEqual("4", scores[0].Number);
              Assert.AreEqual(1, scores[0].Rank);
              Assert.AreEqual("2", scores[1].Number);
              Assert.AreEqual(1, scores[0].Rank);
              Assert.AreEqual("3", scores[2].Number);
              Assert.AreEqual(1, scores[0].Rank);
              Assert.AreEqual("1", scores[3].Number);
              Assert.AreEqual(1, scores[0].Rank);
        }
예제 #16
0
 public TeamForm(Team[] teams)
 {
     // The InitializeComponent() call is required for Windows Forms designer support.
       InitializeComponent();
       Init(teams);
 }