PLCAddressParsingTests.cs 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using S7.Net.Types;
  3. using System;
  4. namespace S7.Net.UnitTest
  5. {
  6. [TestClass]
  7. public class PLCAddressParsingTests
  8. {
  9. [TestMethod]
  10. public void T01_ParseM2000_1()
  11. {
  12. DataItem dataItem = DataItem.FromAddress("M2000.1");
  13. Assert.AreEqual(DataType.Memory, dataItem.DataType, "Wrong datatype for M2000.1");
  14. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for M2000.1");
  15. Assert.AreEqual(VarType.Bit, dataItem.VarType, "Wrong vartype for M2000.1");
  16. Assert.AreEqual(2000, dataItem.StartByteAdr, "Wrong startbyte for M2000.1");
  17. Assert.AreEqual(1, dataItem.BitAdr, "Wrong bit for M2000.1");
  18. }
  19. [TestMethod]
  20. public void T02_ParseMB200()
  21. {
  22. DataItem dataItem = DataItem.FromAddress("MB200");
  23. Assert.AreEqual(DataType.Memory, dataItem.DataType, "Wrong datatype for MB200");
  24. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for MB200");
  25. Assert.AreEqual(VarType.Byte, dataItem.VarType, "Wrong vartype for MB200");
  26. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for MB200");
  27. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for MB200");
  28. }
  29. [TestMethod]
  30. public void T03_ParseMW200()
  31. {
  32. DataItem dataItem = DataItem.FromAddress("MW200");
  33. Assert.AreEqual(DataType.Memory, dataItem.DataType, "Wrong datatype for MW200");
  34. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for MW200");
  35. Assert.AreEqual(VarType.Word, dataItem.VarType, "Wrong vartype for MW200");
  36. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for MW200");
  37. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for MW200");
  38. }
  39. [TestMethod]
  40. public void T04_ParseMD200()
  41. {
  42. DataItem dataItem = DataItem.FromAddress("MD200");
  43. Assert.AreEqual(DataType.Memory, dataItem.DataType, "Wrong datatype for MD200");
  44. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for MD200");
  45. Assert.AreEqual(VarType.DWord, dataItem.VarType, "Wrong vartype for MD200");
  46. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for MD200");
  47. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for MD200");
  48. }
  49. [TestMethod]
  50. public void T05_ParseI2000_1()
  51. {
  52. DataItem dataItem = DataItem.FromAddress("I2000.1");
  53. Assert.AreEqual(DataType.Input, dataItem.DataType, "Wrong datatype for I2000.1");
  54. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for I2000.1");
  55. Assert.AreEqual(VarType.Bit, dataItem.VarType, "Wrong vartype for I2000.1");
  56. Assert.AreEqual(2000, dataItem.StartByteAdr, "Wrong startbyte for I2000.1");
  57. Assert.AreEqual(1, dataItem.BitAdr, "Wrong bit for I2000.1");
  58. }
  59. [TestMethod]
  60. public void T06_ParseIB200()
  61. {
  62. DataItem dataItem = DataItem.FromAddress("IB200");
  63. Assert.AreEqual(DataType.Input, dataItem.DataType, "Wrong datatype for IB200");
  64. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for IB200");
  65. Assert.AreEqual(VarType.Byte, dataItem.VarType, "Wrong vartype for IB200");
  66. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for IB200");
  67. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for IB200");
  68. }
  69. [TestMethod]
  70. public void T07_ParseIW200()
  71. {
  72. DataItem dataItem = DataItem.FromAddress("IW200");
  73. Assert.AreEqual(DataType.Input, dataItem.DataType, "Wrong datatype for IW200");
  74. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for IW200");
  75. Assert.AreEqual(VarType.Word, dataItem.VarType, "Wrong vartype for IW200");
  76. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for IW200");
  77. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for IW200");
  78. }
  79. [TestMethod]
  80. public void T08_ParseID200()
  81. {
  82. DataItem dataItem = DataItem.FromAddress("ID200");
  83. Assert.AreEqual(DataType.Input, dataItem.DataType, "Wrong datatype for ID200");
  84. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for ID200");
  85. Assert.AreEqual(VarType.DWord, dataItem.VarType, "Wrong vartype for ID200");
  86. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for ID200");
  87. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for ID200");
  88. }
  89. [TestMethod]
  90. public void T09_ParseQ2000_1()
  91. {
  92. DataItem dataItem = DataItem.FromAddress("Q2000.1");
  93. Assert.AreEqual(DataType.Output, dataItem.DataType, "Wrong datatype for Q2000.1");
  94. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for Q2000.1");
  95. Assert.AreEqual(VarType.Bit, dataItem.VarType, "Wrong vartype for Q2000.1");
  96. Assert.AreEqual(2000, dataItem.StartByteAdr, "Wrong startbyte for Q2000.1");
  97. Assert.AreEqual(1, dataItem.BitAdr, "Wrong bit for Q2000.1");
  98. }
  99. [TestMethod]
  100. public void T10_ParseQB200()
  101. {
  102. DataItem dataItem = DataItem.FromAddress("QB200");
  103. Assert.AreEqual(DataType.Output, dataItem.DataType, "Wrong datatype for QB200");
  104. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for QB200");
  105. Assert.AreEqual(VarType.Byte, dataItem.VarType, "Wrong vartype for QB200");
  106. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for QB200");
  107. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for QB200");
  108. }
  109. [TestMethod]
  110. public void T11_ParseQW200()
  111. {
  112. DataItem dataItem = DataItem.FromAddress("QW200");
  113. Assert.AreEqual(DataType.Output, dataItem.DataType, "Wrong datatype for QW200");
  114. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for QW200");
  115. Assert.AreEqual(VarType.Word, dataItem.VarType, "Wrong vartype for QW200");
  116. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for QW200");
  117. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for QW200");
  118. }
  119. [TestMethod]
  120. public void T12_ParseQD200()
  121. {
  122. DataItem dataItem = DataItem.FromAddress("QD200");
  123. Assert.AreEqual(DataType.Output, dataItem.DataType, "Wrong datatype for QD200");
  124. Assert.AreEqual(0, dataItem.DB, "Wrong dbnumber for QD200");
  125. Assert.AreEqual(VarType.DWord, dataItem.VarType, "Wrong vartype for QD200");
  126. Assert.AreEqual(200, dataItem.StartByteAdr, "Wrong startbyte for QD200");
  127. Assert.AreEqual(0, dataItem.BitAdr, "Wrong bit for QD200");
  128. }
  129. }
  130. }