mirror of
https://github.com/S7NetPlus/s7netplus.git
synced 2026-02-17 14:28:25 +08:00
Added TimeSpan tests
This commit is contained in:
82
S7.Net.UnitTest/TypeTests/TimeSpanTests.cs
Normal file
82
S7.Net.UnitTest/TypeTests/TimeSpanTests.cs
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
|
||||||
|
namespace S7.Net.UnitTest.TypeTests
|
||||||
|
{
|
||||||
|
public static class TimeSpanTests
|
||||||
|
{
|
||||||
|
private static readonly TimeSpan SampleTimeSpan = new TimeSpan(12, 0, 59, 37, 856);
|
||||||
|
|
||||||
|
private static readonly byte[] SampleByteArray = { 0x3E, 0x02, 0xE8, 0x00 };
|
||||||
|
|
||||||
|
private static readonly byte[] SpecMinByteArray = { 0x80, 0x00, 0x00, 0x00 };
|
||||||
|
|
||||||
|
private static readonly byte[] SpecMaxByteArray = { 0x7F, 0xFF, 0xFF, 0xFF };
|
||||||
|
|
||||||
|
[TestClass]
|
||||||
|
public class FromByteArray
|
||||||
|
{
|
||||||
|
[TestMethod]
|
||||||
|
public void Sample()
|
||||||
|
{
|
||||||
|
AssertFromByteArrayEquals(SampleTimeSpan, SampleByteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void SpecMinimum()
|
||||||
|
{
|
||||||
|
AssertFromByteArrayEquals(Types.TimeSpan.SpecMinimumTimeSpan, SpecMinByteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void SpecMaximum()
|
||||||
|
{
|
||||||
|
AssertFromByteArrayEquals(Types.TimeSpan.SpecMaximumTimeSpan, SpecMaxByteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AssertFromByteArrayEquals(TimeSpan expected, params byte[] bytes)
|
||||||
|
{
|
||||||
|
Assert.AreEqual(expected, Types.TimeSpan.FromByteArray(bytes));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestClass]
|
||||||
|
public class ToByteArray
|
||||||
|
{
|
||||||
|
[TestMethod]
|
||||||
|
public void Sample()
|
||||||
|
{
|
||||||
|
AssertToByteArrayEquals(SampleTimeSpan, SampleByteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void SpecMinimum()
|
||||||
|
{
|
||||||
|
AssertToByteArrayEquals(Types.TimeSpan.SpecMinimumTimeSpan, SpecMinByteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void SpecMaximum()
|
||||||
|
{
|
||||||
|
AssertToByteArrayEquals(Types.TimeSpan.SpecMaximumTimeSpan, SpecMaxByteArray);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
|
||||||
|
public void ThrowsOnTimeBeforeSpecMinimum()
|
||||||
|
{
|
||||||
|
Types.TimeSpan.ToByteArray(TimeSpan.FromDays(-25));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod, ExpectedException(typeof(ArgumentOutOfRangeException))]
|
||||||
|
public void ThrowsOnTimeAfterSpecMaximum()
|
||||||
|
{
|
||||||
|
Types.TimeSpan.ToByteArray(new TimeSpan(30, 15, 15, 15, 15));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AssertToByteArrayEquals(TimeSpan value, params byte[] expected)
|
||||||
|
{
|
||||||
|
CollectionAssert.AreEqual(expected, Types.TimeSpan.ToByteArray(value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user