118 lines
4.8 KiB
C#
118 lines
4.8 KiB
C#
using System;
|
|
using System.IO.Ports;
|
|
using JetBrains.Annotations;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using NfcC7_DLL.NfcHanler;
|
|
|
|
namespace NfcC7_DLL.Tests.NfcHanler;
|
|
|
|
[TestClass]
|
|
[TestSubject(typeof(SERIAL_Driver))]
|
|
public class SERIAL_DriverTest
|
|
{
|
|
private readonly byte[] Open =
|
|
{ 107 ,128 ,1 ,16 ,0 ,48 ,0 ,71 ,108 ,111 ,98 ,97 ,108 ,73 ,80 ,101 ,114
|
|
,108 ,85 ,116 ,105 ,108 ,105 ,116 ,121 ,0 ,0 ,39 ,215 };
|
|
private readonly byte[] CommDeviceSessionEnd = { 0x6B, 0x61, 0x00, 0x10, 0x05, 0x31, 0x00, 0x1F, 0x29, 0xF9, 0xC5 };
|
|
|
|
private readonly byte[] ProductDetails =
|
|
{ 107, 48, 1, 16, 3, 33, 1, 2, 107, 144, 0, 0, 17, 64, 5, 0, 2, 4, 96, 98, 66, 4, 165, 100 };
|
|
|
|
private readonly byte[] ProductDetails2 =
|
|
{ 107, 48, 1, 16, 3, 33, 1, 2, 107, 144, 0, 0, 17, 64, 5, 0, 2, 4, 96 };
|
|
|
|
string com = "COM5";
|
|
int baudrate = 57600;
|
|
int dataBits = 8;
|
|
Parity parity = Parity.None;
|
|
StopBits stopbits = StopBits.Two;
|
|
int readTimeout = 5000;
|
|
int writeTimeout = 1000;
|
|
|
|
[TestMethod]
|
|
public void SendMessage_Test()
|
|
{
|
|
|
|
byte[] message = Open;
|
|
byte[] bytesReceived;
|
|
|
|
SERIAL_Driver driver = new SERIAL_Driver();
|
|
bool isopen = driver.OpenConnection(com,baudrate, dataBits,parity,stopbits,readTimeout,writeTimeout);
|
|
Assert.IsTrue(isopen);
|
|
driver.SendMessage(message, message.Length);
|
|
//Assert.IsTrue(driver.GetRawData().Length == 0);
|
|
bytesReceived = driver.GetRawData();
|
|
Assert.IsTrue(bytesReceived.Length > 0);
|
|
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
|
// Display raw bytes (as hex or byte count)
|
|
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
|
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
|
string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
|
Console.WriteLine("Bytes string: {0}",response);
|
|
|
|
message = CommDeviceSessionEnd;
|
|
driver.SendMessage(message, message.Length);
|
|
|
|
driver.Close();
|
|
|
|
}
|
|
|
|
[TestMethod]
|
|
public void SendMessage_TestGetSerialNo()
|
|
{
|
|
|
|
byte[] message = Open;
|
|
byte[] bytesReceived;
|
|
|
|
SERIAL_Driver driver = new SERIAL_Driver();
|
|
bool isopen = driver.OpenConnection(com,baudrate, dataBits,parity,stopbits,readTimeout,writeTimeout);
|
|
Assert.IsTrue(isopen);
|
|
driver.SendMessage(message, message.Length,readTimeout);
|
|
//Assert.IsTrue(driver.GetRawData().Length == 0);
|
|
bytesReceived = driver.GetRawData();
|
|
Assert.IsTrue(bytesReceived.Length > 0);
|
|
if (bytesReceived[0] == 0xFF)
|
|
Console.WriteLine("Error message: {0}", driver.ErrorMessage);
|
|
// Display raw bytes (as hex or byte count)
|
|
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
|
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
|
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
|
string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
|
Console.WriteLine("Bytes string: {0}",response);
|
|
|
|
// --- Get Serial No ---
|
|
message = ProductDetails;
|
|
driver.SendMessage(message, message.Length,readTimeout);
|
|
bytesReceived = driver.GetRawData();
|
|
Assert.IsTrue(bytesReceived.Length > 0);
|
|
if (bytesReceived[0] == 0xFF)
|
|
Console.WriteLine("Error message: {0}", driver.ErrorMessage);
|
|
// Display raw bytes (as hex or byte count)
|
|
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
|
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
|
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
|
response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
|
Console.WriteLine("Bytes string: {0}",response);
|
|
|
|
// --- Get Serial No ---
|
|
message = ProductDetails2;
|
|
driver.SendMessage(message, message.Length,readTimeout);
|
|
bytesReceived = driver.GetRawData();
|
|
Assert.IsTrue(bytesReceived.Length > 0);
|
|
if (bytesReceived[0] == 0xFF)
|
|
Console.WriteLine("Error message: {0}", driver.ErrorMessage);
|
|
// Display raw bytes (as hex or byte count)
|
|
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
|
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
|
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
|
response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
|
Console.WriteLine("Bytes string: {0}",response);
|
|
|
|
|
|
message = CommDeviceSessionEnd;
|
|
driver.SendMessage(message, message.Length);
|
|
|
|
driver.Close();
|
|
|
|
}
|
|
} |