StringTests.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using S7.Net.Types;
  3. namespace S7.Net.UnitTest.TypeTests
  4. {
  5. [TestClass]
  6. public class StringTests
  7. {
  8. [TestMethod]
  9. public void WriteNullWIthReservedLengthZero()
  10. {
  11. AssertToByteArrayEquals(null, 0);
  12. }
  13. [TestMethod]
  14. public void WriteEmptyStringWithReservedLengthZero()
  15. {
  16. AssertToByteArrayEquals("", 0);
  17. }
  18. [TestMethod]
  19. public void WriteAWithReservedLengthZero()
  20. {
  21. AssertToByteArrayEquals("A", 0);
  22. }
  23. [TestMethod]
  24. public void WriteNullWithReservedLengthOne()
  25. {
  26. AssertToByteArrayEquals(null, 1, 0);
  27. }
  28. [TestMethod]
  29. public void WriteEmptyStringWithReservedLengthOne()
  30. {
  31. AssertToByteArrayEquals("", 1, 0);
  32. }
  33. [TestMethod]
  34. public void WriteAWithReservedLengthOne()
  35. {
  36. AssertToByteArrayEquals("A", 1, (byte) 'A');
  37. }
  38. [TestMethod]
  39. public void WriteAWithReservedLengthTwo()
  40. {
  41. AssertToByteArrayEquals("A", 2, (byte) 'A', 0);
  42. }
  43. [TestMethod]
  44. public void WriteAbcWithReservedLengthOne()
  45. {
  46. AssertToByteArrayEquals("Abc", 1, (byte) 'A');
  47. }
  48. [TestMethod]
  49. public void WriteAbcWithReservedLengthTwo()
  50. {
  51. AssertToByteArrayEquals("Abc", 2, (byte) 'A', (byte) 'b');
  52. }
  53. [TestMethod]
  54. public void WriteAbcWithReservedLengthThree()
  55. {
  56. AssertToByteArrayEquals("Abc", 3, (byte) 'A', (byte) 'b', (byte) 'c');
  57. }
  58. [TestMethod]
  59. public void WriteAbcWithReservedLengthFour()
  60. {
  61. AssertToByteArrayEquals("Abc", 4, (byte) 'A', (byte) 'b', (byte) 'c', 0);
  62. }
  63. private static void AssertFromByteArrayEquals(string expected, params byte[] bytes)
  64. {
  65. Assert.AreEqual(expected, String.FromByteArray(bytes));
  66. }
  67. private static void AssertToByteArrayEquals(string value, int reservedLength, params byte[] expected)
  68. {
  69. CollectionAssert.AreEqual(expected, String.ToByteArray(value, reservedLength));
  70. }
  71. }
  72. }