PageRenderTime 74ms CodeModel.GetById 28ms RepoModel.GetById 2ms app.codeStats 1ms

/EdiNet.Test/DataSegmentTest.cs

#
C# | 212 lines | 157 code | 19 blank | 36 comment | 11 complexity | e608c646315d9606c088dd2c158a27cd MD5 | raw file
  1. using EdiNet;
  2. using Xunit;
  3. using System;
  4. namespace EdiNet.Test
  5. {
  6. public class DataSegmentTest
  7. {
  8. /// <summary>
  9. ///A test for DataSegment Constructor
  10. ///</summary>
  11. [Fact()]
  12. public void DataSegmentConstructorTest()
  13. {
  14. string segId = "BEG";
  15. DataSegment target = new DataSegment(segId);
  16. Assert.Equal(segId, target.SegId);
  17. Assert.Equal(target.Count(), 1);
  18. }
  19. /// <summary>
  20. ///A test for Add
  21. ///</summary>
  22. [Fact()]
  23. public void AddTest()
  24. {
  25. string segId = "BEG";
  26. DataSegment target = new DataSegment(segId);
  27. string elementValue = "00";
  28. DataElement el = target.Add(elementValue);
  29. Assert.Equal(target.Count(), 2);
  30. Assert.Equal(el.V, elementValue);
  31. }
  32. /// <summary>
  33. ///A test for Count
  34. ///</summary>
  35. [Fact()]
  36. public void CountTest()
  37. {
  38. string segId = "BEG";
  39. DataSegment target = new DataSegment(segId);
  40. target.Add("AA");
  41. target.Add("BB");
  42. int expected = 3;
  43. int actual;
  44. actual = target.Count();
  45. Assert.Equal(expected, actual);
  46. }
  47. /// <summary>
  48. ///A test for ToString
  49. ///</summary>
  50. [Fact()]
  51. public void ToStringTest()
  52. {
  53. string segId = "BEG";
  54. DataSegment target = new DataSegment(segId);
  55. target.Add("AA");
  56. target.Add("BB").Add("CC");
  57. char dataElementSeparator = '`';
  58. char componentElementSeparator = '/';
  59. string expected = "BEG`AA`BB/CC";
  60. string actual;
  61. actual = target.ToString(dataElementSeparator, componentElementSeparator);
  62. Assert.Equal(expected, actual);
  63. }
  64. /// <summary>
  65. ///A test for ToString
  66. ///</summary>
  67. [Fact()]
  68. public void ToStringTest1()
  69. {
  70. string segId = "BEG";
  71. DataSegment target = new DataSegment(segId);
  72. target.Add("AA");
  73. target.Add("BB").Add("CC");
  74. char dataElementSeparator = '`';
  75. char componentSeparator = '|';
  76. string expected = "BEG`AA`BB|CC";
  77. string actual;
  78. actual = target.ToString(dataElementSeparator, componentSeparator);
  79. Assert.Equal(expected, actual);
  80. }
  81. /// <summary>
  82. ///A test for Item
  83. ///</summary>
  84. [Fact()]
  85. public void ItemTest()
  86. {
  87. string segId = "BEG";
  88. DataSegment target = new DataSegment(segId);
  89. int position = 2;
  90. string val = "1234";
  91. target[position].V = val;
  92. DataElement actual;
  93. actual = target[position];
  94. Assert.Equal(target[0], segId);
  95. Assert.Equal(target[1], string.Empty);
  96. Assert.Equal(val, actual);
  97. Assert.Equal(target.Count(), 3);
  98. }
  99. /// <summary>
  100. ///A test for Item, getter actually creates elements
  101. ///</summary>
  102. [Fact()]
  103. public void ItemTest2()
  104. {
  105. string segId = "BEG";
  106. DataSegment target = new DataSegment(segId);
  107. Assert.Equal(target[20], string.Empty);
  108. Assert.Equal(target.Count(), 21);
  109. }
  110. /// <summary>
  111. ///A test for FormatIsaSegment
  112. ///</summary>
  113. [Fact()]
  114. public void FormatIsaSegmentTest()
  115. {
  116. DataSegment isa = new DataSegment("ISA");
  117. DataSegment.FormatIsaSegment(isa);
  118. Assert.Equal(isa[1], "00");
  119. Assert.Equal(isa[2], " ");
  120. Assert.Equal(isa[3], "00");
  121. Assert.Equal(isa[4], " ");
  122. Assert.Equal(isa[5], " ");
  123. Assert.Equal(isa[6], " ");
  124. Assert.Equal(isa[7], " ");
  125. Assert.Equal(isa[8], " ");
  126. Assert.Equal(isa[9], "000000");
  127. Assert.Equal(isa[10], "0000");
  128. Assert.Equal(isa[11], "U");
  129. Assert.Equal(isa[12], "00000");
  130. Assert.Equal(isa[13], "000000000");
  131. Assert.Equal(isa[14], "0");
  132. Assert.Equal(isa[15], "T");
  133. Assert.Equal(isa[16], EdiReaderWriterSettings.DefaultX12.ComponentSeparatorChar.ToString());
  134. }
  135. /// <summary>
  136. ///A test for GetHashCode
  137. ///</summary>
  138. [Fact()]
  139. public void GetHashCodeTest()
  140. {
  141. DataSegment s1 = new DataSegment("AAA");
  142. DataSegment s2 = new DataSegment("AAA");
  143. Assert.Equal(true, s1.GetHashCode() == s2.GetHashCode());
  144. }
  145. /// <summary>
  146. ///A test for Equals
  147. ///</summary>
  148. [Fact()]
  149. public void EqualsTest()
  150. {
  151. DataSegment target = new DataSegment("AAA");
  152. object obj1 = new DataSegment("AAA");
  153. object obj2 = new DataSegment("BBB");
  154. object obj3 = target;
  155. Assert.Equal(true, target.Equals(obj1));
  156. Assert.Equal(false, target.Equals(obj2));
  157. Assert.Equal(true, target.Equals(obj3));
  158. Assert.Equal(false, target.Equals(null));
  159. }
  160. /// <summary>
  161. ///A test for op_Equality
  162. ///</summary>
  163. [Fact()]
  164. public void op_EqualityTest()
  165. {
  166. DataSegment el1 = new DataSegment("AAA");
  167. DataSegment el1a = el1;
  168. DataSegment el2 = new DataSegment("BBB");
  169. DataSegment el3 = new DataSegment("AAA");
  170. Assert.Equal(false, el1 == el2);
  171. Assert.Equal(false, null == el2);
  172. Assert.Equal(false, el1 == null);
  173. Assert.Equal(true, el1 == el3);
  174. Assert.Equal(true, el1a == el1);
  175. }
  176. /// <summary>
  177. ///A test for op_Inequality
  178. ///</summary>
  179. [Fact()]
  180. public void op_InequalityTest()
  181. {
  182. DataSegment el1 = new DataSegment("AAA");
  183. DataSegment el1a = el1;
  184. DataSegment el2 = new DataSegment("BBB");
  185. DataSegment el3 = new DataSegment("AAA");
  186. Assert.Equal(true, el1 != el2);
  187. Assert.Equal(true, null != el2);
  188. Assert.Equal(true, el1 != null);
  189. Assert.Equal(false, el1 != el3);
  190. Assert.Equal(false, el1a != el1);
  191. }
  192. }
  193. }