public void Stuur() { // Arrange var voertuigMock = new Mock <Voertuig>(_positieBestuurder); voertuigMock .Setup(x => x.Stuur(It.IsAny <Richting>())) .Callback <Richting>((r) => { _gekozenRichting = r; }); var bestuurder = new Bestuurder(); // Act bestuurder.Bestuur(voertuigMock.Object, _positieBestemming); }
static void Main(string[] args) { var random = new Random(42); while (true) { // Setup.. var huidigeLocatie = new Coordinaten(random.Next(1000), random.Next(1000)); var bestemming = new Coordinaten(random.Next(1000), random.Next(1000)); var bestuurder1 = new Bestuurder(); var bestuurder2 = new Bestuurder(); var passagier = new Reiziger(); // Kies een voertuig en stap in var voertuigFactory = new VoertuigFactory(); var voertuig = voertuigFactory.Create(huidigeLocatie, bestemming); bestuurder1.StapIn(voertuig, voertuig.BestuurdersPlaatsen.First()); passagier.StapIn(voertuig, voertuig.PassagiersPlaatsen.First()); if (voertuig is Vliegtuig) { bestuurder2.StapIn(voertuig, voertuig.BestuurdersPlaatsen.Last()); // Wordt copiloot! } else { bestuurder2.StapIn(voertuig, voertuig.PassagiersPlaatsen.Last()); // Een auto heeft maar 1 bestuurdersplaats } // Vertrek naar het eindpunt voertuig.Start(); while (!voertuig.Positie.Equals(bestemming)) { Console.WriteLine( $"Op weg naar X: {bestemming.X} Y: {bestemming.Y}, nu op X: {voertuig.Positie.X}, Y:{voertuig.Positie.Y} met {voertuig.GetType()}"); bestuurder1.Bestuur(voertuig, bestemming); Thread.Sleep(100); } Console.WriteLine( $"Op weg naar X: {bestemming.X} Y: {bestemming.Y}, nu op X: {voertuig.Positie.X}, Y:{voertuig.Positie.Y} met {voertuig.GetType()}"); Console.WriteLine("Gearriveerd!"); } }