Example #1
0
        public void StartNumberAssignment_LoadFromRace_Test()
        {
            string dbFilename = TestUtilities.CreateWorkingFileFrom(testContextInstance.TestDeploymentDir, @"TestDB_LessParticipants_MultipleRaces.mdb");

            RaceHorologyLib.Database db = new RaceHorologyLib.Database();
            db.Connect(dbFilename);

            AppDataModel model = new AppDataModel(db);
            var          race  = model.GetRaces().FirstOrDefault(r => r.RaceType == Race.ERaceType.GiantSlalom);

            StartNumberAssignment sna = new StartNumberAssignment();

            sna.LoadFromRace(race);

            var rps = race.GetParticipants().ToList();

            foreach (var snap in sna.ParticipantList)
            {
                if (snap.StartNumber != 0)
                {
                    var rp = rps.FirstOrDefault(x => x.StartNumber == snap.StartNumber);
                    Assert.AreEqual(snap.Participant, rp);
                }
            }

            Assert.IsFalse(sna.DifferentToRace(race));
            sna.Assign(1000, race.GetParticipant(1));
            Assert.IsTrue(sna.DifferentToRace(race));
            sna.LoadFromRace(race);
            Assert.IsFalse(sna.DifferentToRace(race));
            sna.DeleteAll();
            Assert.IsTrue(sna.DifferentToRace(race));
        }
 private bool existingChanges()
 {
     return(_snaWorkspace.DifferentToRace(_race));
 }