mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-01-26 12:13:10 +00:00
Merge DIYglenn
This commit is contained in:
55
Debugging/Code/HanDebugger/HanDebuggerTest/DlmsReaderTest.cs
Normal file
55
Debugging/Code/HanDebugger/HanDebuggerTest/DlmsReaderTest.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using HanDebugger;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace HanDebuggerTest
|
||||
{
|
||||
[TestClass]
|
||||
public class DlmsReaderTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void TestDlmsReader()
|
||||
{
|
||||
var text = File.ReadAllText("SampleData.txt").Replace("\r\n", " ").Replace(" ", " ");
|
||||
byte[] bytes = text.Trim().Split(' ').Select(v => (byte)int.Parse(v, System.Globalization.NumberStyles.HexNumber)).ToArray();
|
||||
var reader = new DlmsReader();
|
||||
int packages = 0;
|
||||
for (int i=0; i<bytes.Length; i++)
|
||||
{
|
||||
if (reader.Read(bytes[i]))
|
||||
{
|
||||
packages++;
|
||||
//byte[] data = reader.GetRawData();
|
||||
}
|
||||
}
|
||||
Assert.IsTrue(packages == 559, $"There should be 559 packages. Was: {packages}");
|
||||
|
||||
}
|
||||
|
||||
|
||||
[TestMethod]
|
||||
public void TestDlmsReaderWithError()
|
||||
{
|
||||
var text = File.ReadAllText("SampleData.txt").Replace("\r\n", " ").Replace(" ", " ");
|
||||
byte[] bytes = text.Trim().Split(' ').Select(v => (byte)int.Parse(v, System.Globalization.NumberStyles.HexNumber)).ToArray();
|
||||
bytes = bytes.Skip(10).ToArray();
|
||||
var reader = new DlmsReader();
|
||||
int packages = 0;
|
||||
for (int i = 0; i < bytes.Length; i++)
|
||||
{
|
||||
if (reader.Read(bytes[i]))
|
||||
{
|
||||
packages++;
|
||||
//byte[] data = reader.GetRawData();
|
||||
}
|
||||
}
|
||||
Assert.IsTrue(packages == 558, $"There should be 558 packages. Was: {packages}");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user