initial commit
9904413f
Michael Schmitz
committed
failed
20 changed files
AvailabilityExtensionsTest.cs
/UnitTest/AvailabilityExtensionsTest.cs+58
/UnitTest/AvailabilityExtensionsTest.cs
Add comment 1 Plus  using Infsoft.WPE.App.Shared.Utils;
Add comment 2 Plus  using Infsoft.WPE.App.Shared.Utils.Models;
Add comment 3 Plus  using NUnit.Framework;
Add comment 4 Plus  
Add comment 5 Plus  namespace UnitTest
Add comment 6 Plus  {
Add comment 7 Plus   internal class AvailabilityExtensionsTest
Add comment 8 Plus   {
Add comment 9 Plus   [TestCase(null, Availability.None)]
Add comment 10 Plus   [TestCase(true, Availability.Available)]
Add comment 11 Plus   [TestCase(false, Availability.Busy)]
Add comment 12 Plus   public void BoolParsingTest(bool? input, Availability expected)
Add comment 13 Plus   {
Add comment 14 Plus   // Arrange
Add comment 15 Plus  
Add comment 16 Plus   // Act
Add comment 17 Plus   var availability = input.GetAvailability();
Add comment 18 Plus  
Add comment 19 Plus   // Assert
Add comment 20 Plus   Assert.That(availability, Is.EqualTo(expected));
Add comment 21 Plus   }
Add comment 22 Plus  
Add comment 23 Plus   [TestCase(null, Availability.None)]
Add comment 24 Plus   [TestCase("Available", Availability.Available)]
Add comment 25 Plus   [TestCase("BUSY", Availability.Busy)]
Add comment 26 Plus   [TestCase("OfflINE", Availability.Offline)]
Add comment 27 Plus   [TestCase("BeRightBack", Availability.BeRightBack)]
Add comment 28 Plus   [TestCase("AwaY", Availability.Away)]
Add comment 29 Plus   [TestCase("DoNotDisturb", Availability.DoNotDisturb)]
Add comment 30 Plus   [TestCase("invalid", Availability.None)]
Add comment 31 Plus   [TestCase("", Availability.None)]
Add comment 32 Plus   public void StringParsingTest(string input, Availability expected)
Add comment 33 Plus   {
Add comment 34 Plus   // Arrange
Add comment 35 Plus  
Add comment 36 Plus   // Act
Add comment 37 Plus   var availability = input.GetAvailability();
Add comment 38 Plus  
Add comment 39 Plus   // Assert
Add comment 40 Plus   Assert.That(availability, Is.EqualTo(expected));
Add comment 41 Plus   }
Add comment 42 Plus  
Add comment 43 Plus   [TestCase(Availability.None, Availability.Available, Availability.Available)]
Add comment 44 Plus   [TestCase(Availability.Busy, Availability.Available, Availability.Busy)]
Add comment 45 Plus   [TestCase(Availability.DoNotDisturb, Availability.None, Availability.DoNotDisturb)]
Add comment 46 Plus   public void MergeAvailabilityTest(Availability one, Availability two, Availability expected)
Add comment 47 Plus   {
Add comment 48 Plus   // Arrange
Add comment 49 Plus  
Add comment 50 Plus   // Act
Add comment 51 Plus   var availability = one.MergeAvailability(two);
Add comment 52 Plus  
Add comment 53 Plus   // Assert
Add comment 54 Plus   Assert.That(availability, Is.EqualTo(expected));
Add comment 55 Plus   }
Add comment 56 Plus   }
Add comment 57 Plus  }
Add comment 58 Plus  
ColorExtensionsTest.cs
/UnitTest/ColorExtensionsTest.cs+68
/UnitTest/ColorExtensionsTest.cs
Add comment 1 Plus  using Infsoft.WPE.App.Shared.Utils;
Add comment 2 Plus  using Infsoft.WPE.App.Shared.Utils.Models;
Add comment 3 Plus  using NUnit.Framework;
Add comment 4 Plus  
Add comment 5 Plus  namespace UnitTest
Add comment 6 Plus  {
Add comment 7 Plus   public class ColorExtensionsTest
Add comment 8 Plus   {
Add comment 9 Plus   [TestCase(StateColor.Red, "#D80000")]
Add comment 10 Plus   [TestCase(StateColor.Green, "#1ABA00")]
Add comment 11 Plus   [TestCase(StateColor.Yellow, "#FFB115")]
Add comment 12 Plus   [TestCase(StateColor.Blue, "#808080")]
Add comment 13 Plus   [TestCase(StateColor.Gray, "#808080")]
Add comment 14 Plus   public void StatusColorTest(StateColor colorIn, string expectedColor)
Add comment 15 Plus   {
Add comment 16 Plus   // Arrange
Add comment 17 Plus  
Add comment 18 Plus   // Act
Add comment 19 Plus   var color = colorIn.GetStatusColor();
Add comment 20 Plus  
Add comment 21 Plus   // Assert
Add comment 22 Plus   Assert.That(color, Is.EqualTo(expectedColor));
Add comment 23 Plus   }
Add comment 24 Plus  
Add comment 25 Plus   [TestCase(Availability.None, "#D80000")]
Add comment 26 Plus   [TestCase(Availability.Busy, "#D80000")]
Add comment 27 Plus   [TestCase(Availability.DoNotDisturb, "#D80000")]
Add comment 28 Plus   [TestCase(Availability.Available, "#1ABA00")]
Add comment 29 Plus   [TestCase(Availability.BeRightBack, "#FDB913")]
Add comment 30 Plus   [TestCase(Availability.Away, "#FDB913")]
Add comment 31 Plus   [TestCase(Availability.Offline, "#808080")]
Add comment 32 Plus   [TestCase(Availability.None, "#D80000")]
Add comment 33 Plus   public void StatusColorAvailabilityTest(Availability availability, string expectedColor)
Add comment 34 Plus   {
Add comment 35 Plus   // Arrange
Add comment 36 Plus  
Add comment 37 Plus   // Act
Add comment 38 Plus   var color = availability.GetStatusColor();
Add comment 39 Plus  
Add comment 40 Plus   // Assert
Add comment 41 Plus   Assert.That(color, Is.EqualTo(expectedColor));
Add comment 42 Plus   }
Add comment 43 Plus  
Add comment 44 Plus   [TestCase("#FF0000", "255, 0, 0")]
Add comment 45 Plus   [TestCase("#00FF00", "0, 255, 0")]
Add comment 46 Plus   [TestCase("#0000FF", "0, 0, 255")]
Add comment 47 Plus   [TestCase("#FFFFFF", "255, 255, 255")]
Add comment 48 Plus   [TestCase("#000000", "0, 0, 0")]
Add comment 49 Plus   [TestCase("#808080", "128, 128, 128")]
Add comment 50 Plus   [TestCase("#D80000", "216, 0, 0")]
Add comment 51 Plus   [TestCase("#1ABA00", "26, 186, 0")]
Add comment 52 Plus   [TestCase("#FDB913", "253, 185, 19")]
Add comment 53 Plus   [TestCase("invalid", "0, 0, 0")]
Add comment 54 Plus   [TestCase("#invalid", "0, 0, 0")]
Add comment 55 Plus   [TestCase("#DRTEDG", "0, 0, 0")]
Add comment 56 Plus   [TestCase(null, "0, 0, 0")]
Add comment 57 Plus   public void HexToRGBTest(string hex, string expectedRGB)
Add comment 58 Plus   {
Add comment 59 Plus   // Arrange
Add comment 60 Plus  
Add comment 61 Plus   // Act
Add comment 62 Plus   var rgb = hex.HexToRgb();
Add comment 63 Plus  
Add comment 64 Plus   // Assert
Add comment 65 Plus   Assert.That(rgb, Is.EqualTo(expectedRGB));
Add comment 66 Plus   }
Add comment 67 Plus   }
Add comment 68 Plus  }
DateTimeExtensionsTest.cs
/UnitTest/DateTimeExtensionsTest.cs+186
/UnitTest/DateTimeExtensionsTest.cs
Add comment 1 Plus  using Infsoft.WPE.App.Shared.Utils;
Add comment 2 Plus  using NUnit.Framework;
Add comment 3 Plus  using System;
Add comment 4 Plus  using System.Collections.Generic;
Add comment 5 Plus  using System.Linq;
Add comment 6 Plus  using System.Text;
Add comment 7 Plus  using System.Threading.Tasks;
Add comment 8 Plus  
Add comment 9 Plus  namespace UnitTest
Add comment 10 Plus  {
Add comment 11 Plus   internal class DateTimeExtensionsTest
Add comment 12 Plus   {
Add comment 13 Plus   [TestCase(2023, 1, 1, 0, 0, 0, 1672531200)]
Add comment 14 Plus   [TestCase(2023, 10, 20, 0, 0, 0, 1697760000)]
Add comment 15 Plus   [TestCase(2023, 10, 20, 0, 1, 1, 1697760061)]
Add comment 16 Plus   public void TestIntervalSince1970(int year, int month, int day, int hour, int minute, int second, double expected)
Add comment 17 Plus   {
Add comment 18 Plus   // Arrange
Add comment 19 Plus   var dt = new DateTime(year, month, day, hour, minute, second);
Add comment 20 Plus  
Add comment 21 Plus   // Act
Add comment 22 Plus   var elapsed = dt.GetTimeIntervalSince1970();
Add comment 23 Plus  
Add comment 24 Plus   // Assert
Add comment 25 Plus   Assert.That(elapsed, Is.EqualTo(expected));
Add comment 26 Plus   }
Add comment 27 Plus  
Add comment 28 Plus   [TestCase(2023, 1, 1, 0, 0, 0, "20230101")]
Add comment 29 Plus   [TestCase(2023, 10, 20, 0, 0, 0, "20231020")]
Add comment 30 Plus   [TestCase(2023, 10, 20, 0, 1, 1, "20231020")]
Add comment 31 Plus   [TestCase(2023, 10, 20, 1, 1, 1, "20231020")]
Add comment 32 Plus   public void TestDayID(int year, int month, int day, int hour, int minute, int second, string expected)
Add comment 33 Plus   {
Add comment 34 Plus   // Arrange
Add comment 35 Plus   var dt = new DateTime(year, month, day, hour, minute, second);
Add comment 36 Plus  
Add comment 37 Plus   // Act
Add comment 38 Plus   var dayID = dt.ToDayID();
Add comment 39 Plus  
Add comment 40 Plus   // Assert
Add comment 41 Plus   Assert.That(dayID, Is.EqualTo(expected));
Add comment 42 Plus   }
Add comment 43 Plus  
Add comment 44 Plus   [TestCase(2023, 1, 1, 0, 0, 0, "2023010100")]
Add comment 45 Plus   [TestCase(2023, 10, 20, 0, 0, 0, "2023102000")]
Add comment 46 Plus   [TestCase(2023, 10, 20, 0, 1, 1, "2023102000")]
Add comment 47 Plus   [TestCase(2023, 10, 20, 1, 1, 1, "2023102001")]
Add comment 48 Plus   public void TestHourID(int year, int month, int day, int hour, int minute, int second, string expected)
Add comment 49 Plus   {
Add comment 50 Plus   // Arrange
Add comment 51 Plus   var dt = new DateTime(year, month, day, hour, minute, second);
Add comment 52 Plus  
Add comment 53 Plus   // Act
Add comment 54 Plus   var hourID = dt.ToHourID();
Add comment 55 Plus  
Add comment 56 Plus   // Assert
Add comment 57 Plus   Assert.That(hourID, Is.EqualTo(expected));
Add comment 58 Plus   }
Add comment 59 Plus  
Add comment 60 Plus   [TestCase(1672527600, 2023, 1, 1, 0, 0, 0)]
Add comment 61 Plus   [TestCase(1672531261, 2023, 1, 1, 1, 1, 1)]
Add comment 62 Plus   [TestCase(1697752800, 2023, 10, 20, 0, 0, 0)]
Add comment 63 Plus   public void TestLocalDatetimeFromUnix(double unixTimestamp, int year, int month, int day, int hour, int minute, int second)
Add comment 64 Plus   {
Add comment 65 Plus   // Arrange
Add comment 66 Plus   var expected = new DateTime(year, month, day, hour, minute, second);
Add comment 67 Plus  
Add comment 68 Plus   // Act
Add comment 69 Plus   var dt = unixTimestamp.ToLocalDT();
Add comment 70 Plus  
Add comment 71 Plus   // Assert
Add comment 72 Plus   Assert.That(dt, Is.EqualTo(expected));
Add comment 73 Plus   Assert.That(dt.Kind, Is.EqualTo(DateTimeKind.Local));
Add comment 74 Plus   }
Add comment 75 Plus  
Add comment 76 Plus   [TestCase(1672527600, 2022, 12, 31, 23, 0, 0)]
Add comment 77 Plus   [TestCase(1672531261, 2023, 1, 1, 0, 1, 1)]
Add comment 78 Plus   [TestCase(1697752800, 2023, 10, 19, 22, 0, 0)]
Add comment 79 Plus   public void TestDatetimeFromUnix(double unixTimestamp, int year, int month, int day, int hour, int minute, int second)
Add comment 80 Plus   {
Add comment 81 Plus   // Arrange
Add comment 82 Plus   var expected = new DateTime(year, month, day, hour, minute, second);
Add comment 83 Plus  
Add comment 84 Plus   // Act
Add comment 85 Plus   var dt = unixTimestamp.ToDT();
Add comment 86 Plus  
Add comment 87 Plus   // Assert
Add comment 88 Plus   Assert.That(dt, Is.EqualTo(expected));
Add comment 89 Plus   Assert.That(dt.Kind, Is.EqualTo(DateTimeKind.Utc));
Add comment 90 Plus   }
Add comment 91 Plus  
Add comment 92 Plus   [TestCase(1696401757, 8700)]
Add comment 93 Plus   [TestCase(1672531261, 1016)]
Add comment 94 Plus   public void TestTimeDouble(double unixTimestamp, int expected)
Add comment 95 Plus   {
Add comment 96 Plus   // Arrange
Add comment 97 Plus  
Add comment 98 Plus   // Act
Add comment 99 Plus   var time = unixTimestamp.ToTimeDouble();
Add comment 100 Plus  
Add comment 101 Plus   // Assert
Add comment 102 Plus   Assert.That((int) (time * 1000), Is.EqualTo(expected));
Add comment 103 Plus   }
Add comment 104 Plus  
Add comment 105 Plus   [TestCase(2022, 12, 31, 23, 0, 0, 1672527600)]
Add comment 106 Plus   [TestCase(2023, 1, 1, 0, 1, 1, 1672531261)]
Add comment 107 Plus   [TestCase(2023, 10, 19, 22, 0, 0, 1697752800)]
Add comment 108 Plus   public void TestUtcUnixTimestamp(int year, int month, int day, int hour, int minute, int second, double expected)
Add comment 109 Plus   {
Add comment 110 Plus   // Arrange
Add comment 111 Plus   var dt = new DateTime(year, month, day, hour, minute, second, DateTimeKind.Utc);
Add comment 112 Plus  
Add comment 113 Plus   // Act
Add comment 114 Plus   var unix = dt.ToUtcTimeStamp();
Add comment 115 Plus  
Add comment 116 Plus   // Assert
Add comment 117 Plus   Assert.That(unix, Is.EqualTo(expected));
Add comment 118 Plus   }
Add comment 119 Plus  
Add comment 120 Plus   [TestCase(2022, 12, 31, 23, 0, 0, 2)]
Add comment 121 Plus   [TestCase(2023, 1, 1, 0, 1, 1, 2)]
Add comment 122 Plus   [TestCase(2023, 10, 19, 22, 0, 0, 3)]
Add comment 123 Plus   [TestCase(-1, 0, 0, 0, 0, 0, 3)]
Add comment 124 Plus   public void TestUtcToLocal(int year, int month, int day, int hour, int minute, int second, int offset)
Add comment 125 Plus   {
Add comment 126 Plus   // Arrange
Add comment 127 Plus   DateTime? input = year < 0 ? null : new DateTime(year, month, day, hour, minute, second);
Add comment 128 Plus   var expected = year < 0 ? new() : new DateTime(year, month, day, hour, minute, second).AddHours(offset);
Add comment 129 Plus  
Add comment 130 Plus   // Act
Add comment 131 Plus   var dt = input.UtcToLocal(offset);
Add comment 132 Plus  
Add comment 133 Plus   // Assert
Add comment 134 Plus   Assert.That(dt, Is.EqualTo(expected));
Add comment 135 Plus   }
Add comment 136 Plus  
Add comment 137 Plus   [TestCase(2022, 12, 31, 23, 0, 0, 2024, 1, 1)]
Add comment 138 Plus   [TestCase(2023, 1, 1, 0, 1, 1, 2020, 1, 1)]
Add comment 139 Plus   [TestCase(2023, 10, 19, 22, 0, 0, 2022, 5, 4)]
Add comment 140 Plus   public void TestChangeDate(int year, int month, int day, int hour, int minute, int second, int newYear, int newMonth, int newDay)
Add comment 141 Plus   {
Add comment 142 Plus   // Arrange
Add comment 143 Plus   var dt = new DateTime(year, month, day, hour, minute, second);
Add comment 144 Plus   var dt2 = new DateTime(newYear, newMonth, newDay);
Add comment 145 Plus  
Add comment 146 Plus   // Act
Add comment 147 Plus   var changed = dt.ChangeDate(dt2);
Add comment 148 Plus  
Add comment 149 Plus   // Assert
Add comment 150 Plus   Assert.Multiple(() =>
Add comment 151 Plus   {
Add comment 152 Plus   Assert.That(changed.Year, Is.EqualTo(newYear));
Add comment 153 Plus   Assert.That(changed.Month, Is.EqualTo(newMonth));
Add comment 154 Plus   Assert.That(changed.Day, Is.EqualTo(newDay));
Add comment 155 Plus   Assert.That(changed.Hour, Is.EqualTo(hour));
Add comment 156 Plus   Assert.That(changed.Minute, Is.EqualTo(minute));
Add comment 157 Plus   Assert.That(changed.Second, Is.EqualTo(second));
Add comment 158 Plus   });
Add comment 159 Plus   }
Add comment 160 Plus  
Add comment 161 Plus   [TestCase(2022, 12, 31, 23, 0, 0, 13, 34, 58)]
Add comment 162 Plus   [TestCase(2023, 1, 1, 0, 1, 1, 4, 22, 43)]
Add comment 163 Plus   [TestCase(2023, 10, 19, 22, 0, 0, 8, 46, 0)]
Add comment 164 Plus   public void TestChangeTime(int year, int month, int day, int hour, int minute, int second, int newHour, int newMinute, int newSecond)
Add comment 165 Plus   {
Add comment 166 Plus   // Arrange
Add comment 167 Plus   var dt = new DateTime(year, month, day, hour, minute, second);
Add comment 168 Plus   var dt2 = new DateTime(1, 1, 1, newHour, newMinute, newSecond);
Add comment 169 Plus  
Add comment 170 Plus   // Act
Add comment 171 Plus   var changed = dt.ChangeTime(dt2);
Add comment 172 Plus  
Add comment 173 Plus   // Assert
Add comment 174 Plus   Assert.Multiple(() =>
Add comment 175 Plus   {
Add comment 176 Plus   Assert.That(changed.Year, Is.EqualTo(year));
Add comment 177 Plus   Assert.That(changed.Month, Is.EqualTo(month));
Add comment 178 Plus   Assert.That(changed.Day, Is.EqualTo(day));
Add comment 179 Plus   Assert.That(changed.Hour, Is.EqualTo(newHour));
Add comment 180 Plus   Assert.That(changed.Minute, Is.EqualTo(newMinute));
Add comment 181 Plus   Assert.That(changed.Second, Is.EqualTo(newSecond));
Add comment 182 Plus   });
Add comment 183 Plus   }
Add comment 184 Plus   }
Add comment 185 Plus  }
Add comment 186 Plus  
StringExtensionsTest.cs
/UnitTest/StringExtensionsTest.cs
/UnitTest/StringExtensionsTest.cs
TemperatureExtensionsTest.cs
/UnitTest/TemperatureExtensionsTest.cs+49
/UnitTest/TemperatureExtensionsTest.cs
Add comment 1 Plus  using Infsoft.WPE.App.Shared.Utils;
Add comment 2 Plus  using Infsoft.WPE.App.Shared.Utils.Models;
Add comment 3 Plus  using NUnit.Framework;
Add comment 4 Plus  using System.Globalization;
Add comment 5 Plus  
Add comment 6 Plus  namespace UnitTest
Add comment 7 Plus  {
Add comment 8 Plus   internal class TemperatureExtensionsTest
Add comment 9 Plus   {
Add comment 10 Plus   [TestCase(null, TemperatureUnit.Celsius)]
Add comment 11 Plus   [TestCase("de-de", TemperatureUnit.Celsius)]
Add comment 12 Plus   [TestCase("en-us", TemperatureUnit.Fahrenheit)]
Add comment 13 Plus   [TestCase("en-US", TemperatureUnit.Fahrenheit)]
Add comment 14 Plus   [TestCase("fr", TemperatureUnit.Celsius)]
Add comment 15 Plus   [TestCase("invariant", TemperatureUnit.Kelvin)]
Add comment 16 Plus   public void TestUnitForCulture(string cultureName, TemperatureUnit expected)
Add comment 17 Plus   {
Add comment 18 Plus   // Arrange
Add comment 19 Plus   var culture = cultureName == null ? null : cultureName == "invariant" ? CultureInfo.InvariantCulture : CultureInfo.CreateSpecificCulture(cultureName);
Add comment 20 Plus  
Add comment 21 Plus   // Act
Add comment 22 Plus   var unit = culture.GetUnit();
Add comment 23 Plus  
Add comment 24 Plus   // Assert
Add comment 25 Plus   Assert.That(unit, Is.EqualTo(expected));
Add comment 26 Plus   }
Add comment 27 Plus  
Add comment 28 Plus   [TestCase(null, -12.4, "-12,4 °C")]
Add comment 29 Plus   [TestCase("en-gb", -12.4, "-12.4 °C")]
Add comment 30 Plus   [TestCase("en-us", -12.4, "9.68 °F")]
Add comment 31 Plus   [TestCase("en-us", -22.4, "-8.32 °F")]
Add comment 32 Plus   [TestCase("invariant", -12.4, "260.75 °K")]
Add comment 33 Plus   [TestCase(null, 30.1, "30,1 °C")]
Add comment 34 Plus   [TestCase("en-us", 30.1, "86.18 °F")]
Add comment 35 Plus   [TestCase("invariant", 30.1, "303.25 °K")]
Add comment 36 Plus   public void TestConversion(string cultureName, double celsiusTemp, string expected)
Add comment 37 Plus   {
Add comment 38 Plus   // Arrange
Add comment 39 Plus   var culture = cultureName == null ? null : cultureName == "invariant" ? CultureInfo.InvariantCulture : CultureInfo.CreateSpecificCulture(cultureName);
Add comment 40 Plus  
Add comment 41 Plus   // Act
Add comment 42 Plus   var converted = celsiusTemp.GetLocalizedRepresentation(culture);
Add comment 43 Plus  
Add comment 44 Plus   // Assert
Add comment 45 Plus   Assert.That(converted, Is.EqualTo(expected));
Add comment 46 Plus   }
Add comment 47 Plus   }
Add comment 48 Plus  }
Add comment 49 Plus  
UnitTest.csproj
/UnitTest/UnitTest.csproj+25
/UnitTest/UnitTest.csproj
Add comment 1 Plus  <Project Sdk="Microsoft.NET.Sdk">
Add comment 2 Plus  
Add comment 3 Plus   <PropertyGroup>
Add comment 4 Plus   <TargetFramework>net7.0</TargetFramework>
Add comment 5 Plus   <ImplicitUsings>enable</ImplicitUsings>
Add comment 6 Plus   <Nullable>enable</Nullable>
Add comment 7 Plus  
Add comment 8 Plus   <IsPackable>false</IsPackable>
Add comment 9 Plus   <IsTestProject>true</IsTestProject>
Add comment 10 Plus   </PropertyGroup>
Add comment 11 Plus  
Add comment 12 Plus   <ItemGroup>
Add comment 13 Plus   <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.7.1" />
Add comment 14 Plus   <PackageReference Include="NUnit" Version="3.13.3" />
Add comment 15 Plus   <PackageReference Include="NUnit3TestAdapter" Version="4.4.2" />
Add comment 16 Plus   <PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
Add comment 17 Plus   <PackageReference Include="coverlet.collector" Version="3.2.0" />
Add comment 18 Plus   </ItemGroup>
Add comment 19 Plus  
Add comment 20 Plus   <ItemGroup>
Add comment 21 Plus   <ProjectReference Include="..\WPE.App.Shared.Utils\WPE.App.Shared.Utils.csproj" />
Add comment 22 Plus   </ItemGroup>
Add comment 23 Plus  
Add comment 24 Plus  </Project>
Add comment 25 Plus  
Availability.cs
/WPE.App.Shared.Utils/Models/Availability.cs
/WPE.App.Shared.Utils/Models/Availability.cs
StateColor.cs
/WPE.App.Shared.Utils/Models/StateColor.cs
/WPE.App.Shared.Utils/Models/StateColor.cs
TemperatureUnit.cs
/WPE.App.Shared.Utils/Models/TemperatureUnit.cs
/WPE.App.Shared.Utils/Models/TemperatureUnit.cs
AvailabilityExtensions.cs
/WPE.App.Shared.Utils/AvailabilityExtensions.cs
/WPE.App.Shared.Utils/AvailabilityExtensions.cs
ColorExtensions.cs
/WPE.App.Shared.Utils/ColorExtensions.cs
/WPE.App.Shared.Utils/ColorExtensions.cs
DateTimeExtensions.cs
/WPE.App.Shared.Utils/DateTimeExtensions.cs
/WPE.App.Shared.Utils/DateTimeExtensions.cs
StringExtensions.cs
/WPE.App.Shared.Utils/StringExtensions.cs
/WPE.App.Shared.Utils/StringExtensions.cs
TemperatureExtensions.cs
/WPE.App.Shared.Utils/TemperatureExtensions.cs
/WPE.App.Shared.Utils/TemperatureExtensions.cs
WPE.App.Shared.Utils.csproj
/WPE.App.Shared.Utils/WPE.App.Shared.Utils.csproj
/WPE.App.Shared.Utils/WPE.App.Shared.Utils.csproj
.gitignore
/.gitignore
/.gitignore
azure-pipelines.yml
/azure-pipelines.yml
/azure-pipelines.yml
LICENSE
/LICENSE
/LICENSE
ReadMe.md
/ReadMe.md
/ReadMe.md
WPE.App.Shared.Utils.sln
/WPE.App.Shared.Utils.sln
/WPE.App.Shared.Utils.sln