Exemple #1
0
        public void LoadDefaultModel()
        {
            _driverRepository.AddDriver(new Driver(16, "Charles", "Leclerc"));
            _driverRepository.AddDriver(new Driver(5, "Sebastian", "Vettel"));
            _driverRepository.AddDriver(new Driver(44, "Lewis", "Hamilton"));
            _driverRepository.AddDriver(new Driver(77, "Valteri", "Bottas"));
            _driverRepository.AddDriver(new Driver(3, "Max", "Verstapen"));
            _driverRepository.AddDriver(new Driver(55, "Carlos", "Seinz"));

            _trackRepository.AddTrack(new Track(_trackRepository.GetNewID(), "Melbourne Grand Prix Circuit", "Australia", 5303000));
            _trackRepository.AddTrack(new Track(_trackRepository.GetNewID(), "Bahrein International Circuit", "Bahrein", 5412000));
            _trackRepository.AddTrack(new Track(_trackRepository.GetNewID(), "Spa-Francorchhamps", "Belgium", 7004000));
            _trackRepository.AddTrack(new Track(_trackRepository.GetNewID(), "Shangai International Circuit", "China", 5451000));
            _trackRepository.AddTrack(new Track(_trackRepository.GetNewID(), "Hanoi Circuit", "Vietnam", 5607000));


            _raceRepository.AddRace(new Race(_raceRepository.GetNewID(), "Australia GP", new DateTime(2020, 3, 15), _trackRepository.GetTrackByName("Melbourne Grand Prix Circuit")));
            _raceRepository.AddRace(new Race(_raceRepository.GetNewID(), "Bahrein GP", new DateTime(2020, 3, 22), _trackRepository.GetTrackByName("Bahrein International Circuit")));
            _raceRepository.AddRace(new Race(_raceRepository.GetNewID(), "Vietnam GP", new DateTime(2020, 4, 5), _trackRepository.GetTrackByName("Hanoi Circuit")));
            _raceRepository.AddRace(new Race(_raceRepository.GetNewID(), "China GP", new DateTime(2020, 4, 19), _trackRepository.GetTrackByName("Shangai International Circuit")));

            RaceResults raceResults = new RaceResults(_driverRepository.GetAllActiveDrivers(), _driverRepository.GetDriverByGoKart(16));

            _raceRepository.EnterResults("Australia GP", raceResults);
            _driverRepository.AddPoints(16, 26);
            _driverRepository.AddPoints(5, 18);
            _driverRepository.AddPoints(44, 15);
            _driverRepository.AddPoints(77, 12);
            _driverRepository.AddPoints(3, 10);
            _driverRepository.AddPoints(55, 8);
        }
Exemple #2
0
        public void Test_AddingSameTrackReferenceTwice()
        {
            TrackRepository trackRepository = TrackRepository.GetInstance();

            Track track = new Track(trackRepository.GetNewID(), "Monza", "Italy", 1000);

            trackRepository.AddTrack(track);
            trackRepository.AddTrack(track);
        }
Exemple #3
0
        public void Test_AddTrack()
        {
            TrackRepository trackRepository = TrackRepository.GetInstance();

            Track track = new Track(trackRepository.GetNewID(), "Monza", "Italy", 1000);

            trackRepository.AddTrack(track);

            Track trackTest = trackRepository.GetTrackByName("Monza");

            Assert.IsInstanceOfType(trackTest, typeof(Track));
        }
Exemple #4
0
        public void Test_RemoveTrack()
        {
            TrackRepository trackRepository = TrackRepository.GetInstance();

            Track track = new Track(trackRepository.GetNewID(), "Silverstone", "UK", 20003);

            trackRepository.AddTrack(track);

            trackRepository.RemoveTrack(track);

            Track removed = trackRepository.GetTrackByName("Silverstone");

            Assert.IsFalse(removed.Active);
        }
Exemple #5
0
        public void ReInitializeDriverRepository()
        {
            System.Reflection.FieldInfo fi0 = typeof(DriverRepository).GetField("_instance", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);

            Assert.IsNotNull(fi0);

            fi0.SetValue(null, null);

            System.Reflection.FieldInfo fi1 = typeof(TrackRepository).GetField("_instance", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);

            Assert.IsNotNull(fi1);

            fi1.SetValue(null, null);

            System.Reflection.FieldInfo fi2 = typeof(RaceRepository).GetField("_instance", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);

            Assert.IsNotNull(fi2);

            fi2.SetValue(null, null);



            driverRepository = DriverRepository.GetInstance();
            driverRepository.AddDriver(new Driver(16, "Charles", "Leclerc"));
            driverRepository.AddDriver(new Driver(5, "Sebastian", "Vettel"));
            driverRepository.AddDriver(new Driver(44, "Lewis", "Hamilton"));
            driverRepository.AddDriver(new Driver(77, "Valteri", "Bottas"));
            driverRepository.AddDriver(new Driver(3, "Max", "Verstapen"));
            driverRepository.AddDriver(new Driver(55, "Carlos", "Seinz"));

            trackRepository = TrackRepository.GetInstance();
            trackRepository.AddTrack(new Track(1, "Melbourne Grand Prix Circuit", "Australia", 5303000));
            trackRepository.AddTrack(new Track(2, "Bahrein International Circuit", "Bahrein", 5412000));
            trackRepository.AddTrack(new Track(3, "Spa-Francorchhamps", "Belgium", 7004000));
            trackRepository.AddTrack(new Track(4, "Shangai International Circuit", "China", 5451000));
        }
Exemple #6
0
        public void Test_EditTrack()
        {
            TrackRepository trackRepository = TrackRepository.GetInstance();

            Track track = new Track(trackRepository.GetNewID(), "Spa", "Belgium", 2000);

            trackRepository.AddTrack(track);

            trackRepository.UpdateTrack(track.ID, "Spa2", 14000);

            Track update = trackRepository.GetTrackByName("Spa2");

            Assert.AreEqual("Belgium", update.Location);
            Assert.AreEqual(14000, update.Length);
        }
        public void AddTrack(IAddTrackView inForm)
        {
            TrackRepository trackRepository = TrackRepository.GetInstance();

            if (inForm.ShowViewModal() == true)
            {
                try
                {
                    string Name = inForm.TrackName;
                    if (string.IsNullOrEmpty(Name))
                    {
                        throw new ArgumentException("Track name is not selected!");
                    }

                    string Location = inForm.TrackLocation;
                    if (string.IsNullOrEmpty(Location))
                    {
                        throw new ArgumentException("Location is not selected!");
                    }

                    int Length = inForm.TrackLength;

                    if (Length < 0)
                    {
                        throw new ArgumentException("Length value not supported!");
                    }

                    int ID = trackRepository.GetNewID();

                    Track newTrack = TrackFactory.CreateTrack(ID, Name, Location, Length);

                    trackRepository.AddTrack(newTrack);
                }
                catch (TrackAlreadyExistsException)
                {
                    MessageBox.Show("Track already exists!");
                }
                catch (ArgumentException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }