Exemplo n.º 1
0
        public void PullsListOfSolarSystemsFromCrest_AndHandsThemOutByName()
        {
            var getSolarSystemIds = new Mock <IGetSolarSystemIds>();

            getSolarSystemIds.Setup(x => x.Get()).Returns(
                new List <SolarSystemId> {
                new SolarSystemId(123, "Amarr"),
                new SolarSystemId(456, "Jita")
            });
            var subject = new SolarSystemFactory(getSolarSystemIds.Object);

            var result = subject.GetSolarSystem("Amarr");

            result.Id.Should().Be(123);
        }
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            // Create a new scope to retrieve scoped services
            using (var scope = _serviceProvider.CreateScope())
            {
                // Get the DbContext instance
                var forecastContext = scope.ServiceProvider.GetRequiredService <ForecastContext>();

                var solarSystem          = SolarSystemFactory.GenerateSolarSystem();
                var weatherControlSystem = new WeatherControlSystem(solarSystem);
                await forecastContext.Forecasts.AddRangeAsync(weatherControlSystem.CalculateForecast(3650));

                await forecastContext.SaveChangesAsync();
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            System.Console.WriteLine("Se generará el pronóstico para 3650 días para el sistema compuesto por: ");
            System.Console.WriteLine("- Ferengi, que se desplaza con una velocidad angular de 1 grados/día en sentido horario y su distancia con respecto al sol es de 500Km");
            System.Console.WriteLine("- Betasoide, que se desplaza con una velocidad angular de 3 grados/día en sentido horario y su distancia con respecto al sol es de 2000Km.");
            System.Console.WriteLine("- Vulcano, que se desplaza con una velocidad angular de 5 grados/día en sentido anti­horario y su distancia con respecto al sol es de 1000Km.");

            var report = new ForecastReport(new WeatherControlSystem(SolarSystemFactory.GenerateSolarSystem()).CalculateForecast(3650));

            System.Console.WriteLine("Se encontraron {0} períodos de sequía.", report.Periods[Weather.Drought]);
            System.Console.WriteLine("Se encontraron {0} períodos de lluvia.", report.Periods[Weather.Rainy]);
            System.Console.WriteLine("El día pico de lluvia será el {0}.", report.HeaviestDayOfRain);
            System.Console.WriteLine("Se encontraron {0} períodos de condiciones normales de presión y temperatura.", report.Periods[Weather.Normal]);
            System.Console.ReadLine();
        }