PageRenderTime 27ms CodeModel.GetById 1ms RepoModel.GetById 0ms app.codeStats 0ms

/trunk/Examples/test-suite/go/contract_runme.go

#
Go | 208 lines | 185 code | 22 blank | 1 comment | 63 complexity | e5e427abd206a0b50382dc36099daac3 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
  1. package main
  2. import "./contract"
  3. func main() {
  4. contract.Test_preassert(1, 2)
  5. contract.Test_postassert(3)
  6. func() {
  7. defer func() {
  8. if recover() == nil {
  9. panic("Failed! Postassertions are broken")
  10. }
  11. }()
  12. contract.Test_postassert(-3)
  13. }()
  14. contract.Test_prepost(2, 3)
  15. contract.Test_prepost(5, -4)
  16. func() {
  17. defer func() {
  18. if recover() == nil {
  19. panic("Failed! Preassertions are broken")
  20. }
  21. }()
  22. contract.Test_prepost(-3, 4)
  23. }()
  24. func() {
  25. defer func() {
  26. if recover() == nil {
  27. panic("Failed! Postassertions are broken")
  28. }
  29. }()
  30. contract.Test_prepost(4, -10)
  31. }()
  32. f := contract.NewFoo()
  33. f.Test_preassert(4, 5)
  34. func() {
  35. defer func() {
  36. if recover() == nil {
  37. panic("Failed! Method preassertion.")
  38. }
  39. }()
  40. f.Test_preassert(-2, 3)
  41. }()
  42. f.Test_postassert(4)
  43. func() {
  44. defer func() {
  45. if recover() == nil {
  46. panic("Failed! Method postassertion")
  47. }
  48. }()
  49. f.Test_postassert(-4)
  50. }()
  51. f.Test_prepost(3, 4)
  52. f.Test_prepost(4, -3)
  53. func() {
  54. defer func() {
  55. if recover() == nil {
  56. panic("Failed! Method preassertion.")
  57. }
  58. }()
  59. f.Test_prepost(-4, 2)
  60. }()
  61. func() {
  62. defer func() {
  63. if recover() == nil {
  64. panic("Failed! Method postassertion.")
  65. }
  66. }()
  67. f.Test_prepost(4, -10)
  68. }()
  69. contract.FooStest_prepost(4, 0)
  70. func() {
  71. defer func() {
  72. if recover() == nil {
  73. panic("Failed! Static method preassertion")
  74. }
  75. }()
  76. contract.FooStest_prepost(-4, 2)
  77. }()
  78. func() {
  79. defer func() {
  80. if recover() == nil {
  81. panic("Failed! Static method posteassertion")
  82. }
  83. }()
  84. contract.FooStest_prepost(4, -10)
  85. }()
  86. b := contract.NewBar()
  87. func() {
  88. defer func() {
  89. if recover() == nil {
  90. panic("Failed! Inherited preassertion.")
  91. }
  92. }()
  93. b.Test_prepost(2, -4)
  94. }()
  95. d := contract.NewD()
  96. func() {
  97. defer func() {
  98. if recover() == nil {
  99. panic("Failed! Inherited preassertion (D).")
  100. }
  101. }()
  102. d.Foo(-1, 1, 1, 1, 1)
  103. }()
  104. func() {
  105. defer func() {
  106. if recover() == nil {
  107. panic("Failed! Inherited preassertion (D).")
  108. }
  109. }()
  110. d.Foo(1, -1, 1, 1, 1)
  111. }()
  112. func() {
  113. defer func() {
  114. if recover() == nil {
  115. panic("Failed! Inherited preassertion (D).")
  116. }
  117. }()
  118. d.Foo(1, 1, -1, 1, 1)
  119. }()
  120. func() {
  121. defer func() {
  122. if recover() == nil {
  123. panic("Failed! Inherited preassertion (D).")
  124. }
  125. }()
  126. d.Foo(1, 1, 1, -1, 1)
  127. }()
  128. func() {
  129. defer func() {
  130. if recover() == nil {
  131. panic("Failed! Inherited preassertion (D).")
  132. }
  133. }()
  134. d.Foo(1, 1, 1, 1, -1)
  135. }()
  136. func() {
  137. defer func() {
  138. if recover() == nil {
  139. panic("Failed! Inherited preassertion (D).")
  140. }
  141. }()
  142. d.Bar(-1, 1, 1, 1, 1)
  143. }()
  144. func() {
  145. defer func() {
  146. if recover() == nil {
  147. panic("Failed! Inherited preassertion (D).")
  148. }
  149. }()
  150. d.Bar(1, -1, 1, 1, 1)
  151. }()
  152. func() {
  153. defer func() {
  154. if recover() == nil {
  155. panic("Failed! Inherited preassertion (D).")
  156. }
  157. }()
  158. d.Bar(1, 1, -1, 1, 1)
  159. }()
  160. func() {
  161. defer func() {
  162. if recover() == nil {
  163. panic("Failed! Inherited preassertion (D).")
  164. }
  165. }()
  166. d.Bar(1, 1, 1, -1, 1)
  167. }()
  168. func() {
  169. defer func() {
  170. if recover() == nil {
  171. panic("Failed! Inherited preassertion (D).")
  172. }
  173. }()
  174. d.Bar(1, 1, 1, 1, -1)
  175. }()
  176. //Namespace
  177. my := contract.NewMyClass(1)
  178. func() {
  179. defer func() {
  180. if recover() == nil {
  181. panic("Failed! constructor preassertion")
  182. }
  183. }()
  184. my = contract.NewMyClass(0)
  185. }()
  186. }