diff --git a/MewtocolNet/Mewtocol/MewtocolHelpers.cs b/MewtocolNet/Mewtocol/MewtocolHelpers.cs
index 11cb77e..1b82ccc 100644
--- a/MewtocolNet/Mewtocol/MewtocolHelpers.cs
+++ b/MewtocolNet/Mewtocol/MewtocolHelpers.cs
@@ -46,17 +46,9 @@ internal static string BuildBCCFrame (this string asciiArr) {
}
- internal static byte[] ParseDTBytes (this string _onString ,int _blockSize = 4) {
-
- var res = new Regex(@"\%([0-9]{2})\$RD(.{"+_blockSize+"})").Match(_onString);
- if(res.Success) {
- string val = res.Groups[2].Value;
- return val.HexStringToByteArray();
- }
- return null;
-
- }
-
+ ///
+ /// Parses the byte string from a incoming RD message
+ ///
internal static string ParseDTByteString (this string _onString, int _blockSize = 4) {
if (_onString == null)
@@ -71,7 +63,7 @@ internal static string ParseDTByteString (this string _onString, int _blockSize
}
- internal static bool? ParseRCSingleBit (this string _onString, int _blockSize = 4) {
+ internal static bool? ParseRCSingleBit (this string _onString) {
var res = new Regex(@"\%([0-9]{2})\$RC(.)").Match(_onString);
if (res.Success) {
diff --git a/MewtocolTests/TestHelperExtensions.cs b/MewtocolTests/TestHelperExtensions.cs
index d0dc5e7..b39e65e 100644
--- a/MewtocolTests/TestHelperExtensions.cs
+++ b/MewtocolTests/TestHelperExtensions.cs
@@ -31,7 +31,7 @@ public void ToBitStringGeneration () {
}
[Fact(DisplayName = nameof(MewtocolHelpers.ToHexString))]
- public void ToHexStringGeneration() {
+ public void ToHexStringGeneration () {
var bytes = new byte[6] {
0x10,
@@ -47,7 +47,7 @@ public void ToHexStringGeneration() {
}
[Fact(DisplayName = nameof(MewtocolHelpers.ToHexASCIIBytes))]
- public void ToHexASCIIBytesGeneration() {
+ public void ToHexASCIIBytesGeneration () {
string test = "Hello, world!";
@@ -69,6 +69,41 @@ public void ToHexASCIIBytesGeneration() {
}
+ [Fact(DisplayName = nameof(MewtocolHelpers.BuildBCCFrame))]
+ public void BuildBCCFrameGeneration () {
+
+ string test = "%01#RCSX0000";
+ string expect = "%01#RCSX00001D";
+
+ Assert.Equal(expect, test.BuildBCCFrame());
+
+ }
+
+ [Fact(DisplayName = nameof(MewtocolHelpers.ParseDTByteString))]
+ public void ParseDTByteStringGeneration () {
+
+ var testList = new List() {
+ "1112",
+ "1C2C",
+ "FFFF",
+ };
+
+ foreach (var item in testList) {
+
+ Assert.Equal(item, $"%01$RD{item}".BuildBCCFrame().ParseDTByteString());
+
+ }
+
+ }
+
+ [Fact(DisplayName = nameof(MewtocolHelpers.ParseRCSingleBit))]
+ public void ParseRCSingleBitGeneration () {
+
+ Assert.True($"%01$RC1".BuildBCCFrame().ParseRCSingleBit());
+ Assert.False($"%01$RC0".BuildBCCFrame().ParseRCSingleBit());
+
+ }
+
}
}
\ No newline at end of file