diff --git a/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/mock/ElectricityMapDataSourceMocker.cs b/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/mock/ElectricityMapDataSourceMocker.cs index 4a2875133..2009926b0 100644 --- a/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/mock/ElectricityMapDataSourceMocker.cs +++ b/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/mock/ElectricityMapDataSourceMocker.cs @@ -12,7 +12,7 @@ namespace CarbonAware.DataSources.ElectricityMaps.Mocks; public class ElectricityMapsDataSourceMocker : IDataSourceMocker { - private WireMockServer _server; + private readonly WireMockServer _server; private const string ZONE_NAME = "eastus"; private const string ZONE_KEY = "US-NE-ISNE"; private static readonly JsonSerializerOptions _options = new JsonSerializerOptions(JsonSerializerDefaults.Web); diff --git a/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/src/ElectricityMapsDataSource.cs b/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/src/ElectricityMapsDataSource.cs index 81ca4b5eb..c45fb52dc 100644 --- a/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/src/ElectricityMapsDataSource.cs +++ b/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/src/ElectricityMapsDataSource.cs @@ -69,7 +69,7 @@ private static EmissionsForecast ToEmissionsForecast(Location location, Forecast emissionsForecast.RequestedAt = requestedAt; emissionsForecast.ForecastData = emissionsForecast.ForecastData.Select(d => { - d.Location = location.Name; + d.Location = location.Name ?? string.Empty; d.Duration = duration; return d; }); diff --git a/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/test/Client/ElectricityMapsClientTests.cs b/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/test/Client/ElectricityMapsClientTests.cs index 6afd06ece..27ce86897 100644 --- a/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/test/Client/ElectricityMapsClientTests.cs +++ b/src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMaps/test/Client/ElectricityMapsClientTests.cs @@ -53,8 +53,8 @@ public void ClientInstantiation_FailsForInvalidConfig(string baseUrl) CreateBasicClient(TestData.GetZonesAllowedJsonString(), "{}"); this.Configuration = new ElectricityMapsClientConfiguration() { - APITokenHeader = "", - APIToken = "", + APITokenHeader = string.Empty, + APIToken = string.Empty, BaseUrl = baseUrl, }; diff --git a/src/CarbonAware.Tools/CarbonAware.Tools.AWSRegionTestDataGenerator/AWSRegionTestDataGenerator.cs b/src/CarbonAware.Tools/CarbonAware.Tools.AWSRegionTestDataGenerator/AWSRegionTestDataGenerator.cs index 7e2089938..5d8a83e0f 100644 --- a/src/CarbonAware.Tools/CarbonAware.Tools.AWSRegionTestDataGenerator/AWSRegionTestDataGenerator.cs +++ b/src/CarbonAware.Tools/CarbonAware.Tools.AWSRegionTestDataGenerator/AWSRegionTestDataGenerator.cs @@ -40,7 +40,7 @@ public List GenerateTestData(List regionData) var e = new EmissionsData() { Time = DateTime.Now + TimeSpan.FromHours(i), - Location = region.code, + Location = region.code ?? string.Empty, Rating = ran.Next(100) }; emData.Add(e); diff --git a/src/CarbonAware.Tools/CarbonAware.Tools.AzureRegionTestDataGenerator/AzureRegionTestDataGenerator.cs b/src/CarbonAware.Tools/CarbonAware.Tools.AzureRegionTestDataGenerator/AzureRegionTestDataGenerator.cs index 7294036ce..2b73ce5cb 100644 --- a/src/CarbonAware.Tools/CarbonAware.Tools.AzureRegionTestDataGenerator/AzureRegionTestDataGenerator.cs +++ b/src/CarbonAware.Tools/CarbonAware.Tools.AzureRegionTestDataGenerator/AzureRegionTestDataGenerator.cs @@ -44,7 +44,7 @@ public List GenerateTestData(List regionData) { // 3 times per day (8 hours apart), 365 days per year Time = DateTime.Now + TimeSpan.FromHours(8 * hours) + TimeSpan.FromDays(days), - Location = region.name, + Location = region.name ?? string.Empty, Rating = ran.Next(100) }; emData.Add(e); diff --git a/src/CarbonAware/src/CarbonAware.csproj b/src/CarbonAware/src/CarbonAware.csproj index c9b44a377..0726af7c4 100644 --- a/src/CarbonAware/src/CarbonAware.csproj +++ b/src/CarbonAware/src/CarbonAware.csproj @@ -2,6 +2,7 @@ net6.0 + enable enable true false diff --git a/src/CarbonAware/src/CarbonAwareVariablesConfiguration.cs b/src/CarbonAware/src/CarbonAwareVariablesConfiguration.cs index 811bc7a00..8556dcdcd 100644 --- a/src/CarbonAware/src/CarbonAwareVariablesConfiguration.cs +++ b/src/CarbonAware/src/CarbonAwareVariablesConfiguration.cs @@ -20,14 +20,14 @@ public class CarbonAwareVariablesConfiguration /// /// Gets or sets the forecast data source to use. /// - public string ForecastDataSource { get; set; } + public string ForecastDataSource { get; set; } = string.Empty; /// /// Gets or sets the emissions data source to use. /// - public string EmissionsDataSource { get; set; } + public string EmissionsDataSource { get; set; } = string.Empty; - #nullable enable +#nullable enable /// /// Gets or sets proxy information for making calls to the internet. /// diff --git a/src/CarbonAware/src/Extensions/EmissionsDataExtensions.cs b/src/CarbonAware/src/Extensions/EmissionsDataExtensions.cs index 5cc0e0cb4..70ef4bd12 100644 --- a/src/CarbonAware/src/Extensions/EmissionsDataExtensions.cs +++ b/src/CarbonAware/src/Extensions/EmissionsDataExtensions.cs @@ -48,7 +48,7 @@ public static IEnumerable RollingAverage(this IEnumerable data, Dat { double rating = 0.0; TimeSpan totalDuration = endTime - startTime; - EmissionsData previous = null; + EmissionsData? previous = null; (bool reverseChronology, bool emptyEnumerable) = GetChronologyDetails(data); bool startTimeCoverage = false; bool endTimeCoverage = false; @@ -193,8 +193,8 @@ public static double AverageOverPeriod(this IEnumerable data, Dat private static (bool reverseChronology, bool emptyEnumerable) GetChronologyDetails(IEnumerable data) { - EmissionsData current = null; - EmissionsData next = null; + EmissionsData? current = null; + EmissionsData? next = null; var _data = data.GetEnumerator(); if (_data.MoveNext()) diff --git a/src/CarbonAware/src/Model/EmissionsData.cs b/src/CarbonAware/src/Model/EmissionsData.cs index 06561623b..b17cef086 100644 --- a/src/CarbonAware/src/Model/EmissionsData.cs +++ b/src/CarbonAware/src/Model/EmissionsData.cs @@ -4,7 +4,7 @@ public record EmissionsData { /// eastus - public string Location { get; set; } + public string Location { get; set; } = string.Empty; /// 01-01-2022 public DateTimeOffset Time { get; set; } /// 140.5 diff --git a/src/CarbonAware/src/Model/EmissionsForecast.cs b/src/CarbonAware/src/Model/EmissionsForecast.cs index b6a9f8a16..913fe415d 100644 --- a/src/CarbonAware/src/Model/EmissionsForecast.cs +++ b/src/CarbonAware/src/Model/EmissionsForecast.cs @@ -41,7 +41,7 @@ public record EmissionsForecast /// /// Gets or sets the optimal data points within the ForecastData set. /// - public IEnumerable OptimalDataPoints { get; set; } + public IEnumerable OptimalDataPoints { get; set; } = new List(); public void Validate() diff --git a/src/CarbonAware/src/WebProxyConfiguration.cs b/src/CarbonAware/src/WebProxyConfiguration.cs index 6c5951457..355454f17 100644 --- a/src/CarbonAware/src/WebProxyConfiguration.cs +++ b/src/CarbonAware/src/WebProxyConfiguration.cs @@ -11,15 +11,15 @@ public class WebProxyConfiguration /// /// Gets or sets the proxy url /// - public string Url { get; set; } + public string Url { get; set; } = string.Empty; /// /// Sets the proxy username /// - public string Username { get; set; } + public string Username { get; set; } = string.Empty; /// /// Sets the proxy password /// - public string Password { get; set; } + public string Password { get; set; } = string.Empty; }