Files
HomeMonitor/Weather/ModelsTests/WeatherMessageTests.cs

32 lines
1.4 KiB
C#

using ChrisKaczor.HomeMonitor.Weather.Models;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace ModelsTests;
[TestClass]
public class WeatherMessageTests
{
[TestMethod]
public void ParseTest()
{
var weatherMessage = WeatherMessage.Parse("$,ws=1.80,wg=1.15,wd=180.00,r=0.01,bt=14.44,bp=1016.76,tl=597.83,st=9.68,sh=78.95,gf=1,gs=13,glt=42.764725,gln=-71.042038,ga=20.70,gth=22,gtm=20,gts=11,gdy=21,gdm=5,gdd=28,#");
Assert.AreEqual(MessageType.Data, weatherMessage.Type);
Assert.AreEqual(WindDirection.South, weatherMessage.WindDirection);
Assert.AreEqual(1.80M, weatherMessage.WindSpeed);
Assert.AreEqual(42.764725M, weatherMessage.Latitude);
Assert.AreEqual(-71.042038M, weatherMessage.Longitude);
Assert.AreEqual(1016.76M, weatherMessage.Pressure);
Assert.AreEqual(14.44M, weatherMessage.PressureTemperature);
Assert.AreEqual(0.01M, weatherMessage.Rain);
Assert.AreEqual(9.68M, weatherMessage.HumidityTemperature);
Assert.AreEqual(78.95M, weatherMessage.Humidity);
Assert.AreEqual(13, weatherMessage.SatelliteCount);
Assert.AreEqual(20.70M, weatherMessage.Altitude);
Assert.AreEqual(1.80M, weatherMessage.WindSpeed);
Assert.AreEqual(597.83M, weatherMessage.LightLevel);
Assert.AreEqual(DateTimeOffset.Parse("2021-05-28 22:20:11 +00:00"), weatherMessage.GpsTimestamp);
}
}