nunit 2.4.8.0 → 2.5.0.9122

Sign up to get free protection for your applications and to get access to all the features.
Files changed (276) hide show
  1. data/docs/addinsDialog.html +36 -6
  2. data/docs/assertions.html +31 -12
  3. data/docs/attributes.html +59 -36
  4. data/docs/category.html +32 -9
  5. data/docs/collectionAssert.html +30 -12
  6. data/docs/collectionConstraints.html +242 -44
  7. data/docs/combinatorial.html +130 -0
  8. data/docs/comparisonAsserts.html +12 -9
  9. data/docs/comparisonConstraints.html +159 -25
  10. data/docs/compoundConstraints.html +12 -9
  11. data/docs/conditionAsserts.html +36 -12
  12. data/docs/conditionConstraints.html +131 -25
  13. data/docs/configEditor.html +10 -5
  14. data/docs/configFiles.html +5 -6
  15. data/docs/consoleCommandLine.html +51 -24
  16. data/docs/constraintModel.html +56 -19
  17. data/docs/contextMenu.html +10 -5
  18. data/docs/culture.html +32 -9
  19. data/docs/customConstraints.html +53 -37
  20. data/docs/datapoint.html +124 -0
  21. data/docs/datapointProviders.html +105 -0
  22. data/docs/delayedConstraint.html +98 -0
  23. data/docs/description.html +32 -9
  24. data/docs/directoryAssert.html +151 -0
  25. data/docs/equalConstraint.html +167 -47
  26. data/docs/equalityAsserts.html +12 -9
  27. data/docs/eventListeners.html +110 -0
  28. data/docs/exception.html +61 -36
  29. data/docs/exceptionAsserts.html +210 -0
  30. data/docs/explicit.html +32 -9
  31. data/docs/extensibility.html +8 -8
  32. data/docs/extensionTips.html +100 -0
  33. data/docs/fileAssert.html +12 -9
  34. data/docs/files/TestResult.xml +99 -67
  35. data/docs/fixtureSetup.html +60 -18
  36. data/docs/fixtureTeardown.html +56 -17
  37. data/docs/getStarted.html +9 -4
  38. data/docs/guiCommandLine.html +10 -5
  39. data/docs/identityAsserts.html +12 -9
  40. data/docs/ignore.html +32 -9
  41. data/docs/img/addinsDialog.JPG +0 -0
  42. data/docs/img/advancedSettings.jpg +0 -0
  43. data/docs/img/assembliesTab.jpg +0 -0
  44. data/docs/img/assemblyReloadSettings.JPG +0 -0
  45. data/docs/img/configEditor.jpg +0 -0
  46. data/docs/img/console-mock.jpg +0 -0
  47. data/docs/img/generalSettings.jpg +0 -0
  48. data/docs/img/generalTab.jpg +0 -0
  49. data/docs/img/gui-screenshot.jpg +0 -0
  50. data/docs/img/gui-verify.jpg +0 -0
  51. data/docs/img/miniGui.jpg +0 -0
  52. data/docs/img/testLoadSettings.jpg +0 -0
  53. data/docs/img/testOutputSettings.jpg +0 -0
  54. data/docs/img/testProperties.jpg +0 -0
  55. data/docs/img/testResultSettings.JPG +0 -0
  56. data/docs/img/textOutputSettings.jpg +0 -0
  57. data/docs/img/treeDisplaySettings.jpg +0 -0
  58. data/docs/img/visualStudioSettings.jpg +0 -0
  59. data/docs/index.html +15 -8
  60. data/docs/installation.html +33 -75
  61. data/docs/license.html +9 -4
  62. data/docs/listMapper.html +12 -9
  63. data/docs/mainMenu.html +18 -8
  64. data/docs/maxtime.html +109 -0
  65. data/docs/multiAssembly.html +5 -6
  66. data/docs/nunit-console.html +9 -4
  67. data/docs/nunit-gui.html +32 -15
  68. data/docs/nunit.css +3 -3
  69. data/docs/nunitAddins.html +41 -144
  70. data/docs/pairwise.html +114 -0
  71. data/docs/parameterizedTests.html +141 -0
  72. data/docs/pathConstraints.html +162 -0
  73. data/docs/platform.html +37 -9
  74. data/docs/pnunit.html +93 -0
  75. data/docs/projectEditor.html +82 -11
  76. data/docs/property.html +39 -10
  77. data/docs/propertyConstraint.html +12 -9
  78. data/docs/quickStart.html +9 -4
  79. data/docs/random.html +138 -0
  80. data/docs/range.html +149 -0
  81. data/docs/releaseDetail.html +861 -0
  82. data/docs/releaseNotes.html +457 -1133
  83. data/docs/repeat.html +104 -0
  84. data/docs/requiredAddin.html +153 -0
  85. data/docs/requiresMTA.html +152 -0
  86. data/docs/requiresSTA.html +153 -0
  87. data/docs/requiresThread.html +153 -0
  88. data/docs/sameasConstraint.html +23 -17
  89. data/docs/samples.html +12 -9
  90. data/docs/sequential.html +132 -0
  91. data/docs/setCulture.html +32 -9
  92. data/docs/{optionsDialog.html → settingsDialog.html} +89 -53
  93. data/docs/setup.html +61 -16
  94. data/docs/setupFixture.html +32 -9
  95. data/docs/stringAssert.html +15 -12
  96. data/docs/stringConstraints.html +12 -9
  97. data/docs/suite.html +32 -11
  98. data/docs/suiteBuilders.html +106 -0
  99. data/docs/teardown.html +56 -16
  100. data/docs/test.html +67 -18
  101. data/docs/testCase.html +168 -0
  102. data/docs/testCaseSource.html +284 -0
  103. data/docs/testDecorators.html +117 -0
  104. data/docs/testFixture.html +228 -16
  105. data/docs/testProperties.html +10 -5
  106. data/docs/testcaseBuilders.html +117 -0
  107. data/docs/testcaseProviders.html +122 -0
  108. data/docs/theory.html +208 -0
  109. data/docs/throwsConstraint.html +112 -0
  110. data/docs/timeout.html +109 -0
  111. data/docs/typeAsserts.html +47 -14
  112. data/docs/typeConstraints.html +12 -9
  113. data/docs/upgrade.html +23 -17
  114. data/docs/utilityAsserts.html +38 -16
  115. data/docs/valueSource.html +137 -0
  116. data/docs/values.html +136 -0
  117. data/docs/vsSupport.html +5 -6
  118. data/lib/net-1.1/NUnitTests.config +2 -2
  119. data/lib/net-1.1/NUnitTests.nunit +8 -11
  120. data/lib/net-1.1/agent.conf +4 -0
  121. data/lib/net-1.1/agent.log.conf +18 -0
  122. data/lib/net-1.1/framework/nunit.framework.dll +0 -0
  123. data/lib/net-1.1/framework/nunit.framework.xml +9321 -0
  124. data/lib/net-1.1/framework/nunit.mocks.dll +0 -0
  125. data/lib/net-1.1/framework/pnunit.framework.dll +0 -0
  126. data/lib/net-1.1/launcher.log.conf +18 -0
  127. data/lib/net-1.1/{fit.dll → lib/fit.dll} +0 -0
  128. data/lib/net-1.1/lib/log4net.dll +0 -0
  129. data/lib/net-1.1/lib/nunit-console-runner.dll +0 -0
  130. data/lib/net-1.1/lib/nunit.core.dll +0 -0
  131. data/lib/net-1.1/lib/nunit.core.interfaces.dll +0 -0
  132. data/lib/net-1.1/lib/nunit.fixtures.dll +0 -0
  133. data/lib/net-1.1/lib/nunit.util.dll +0 -0
  134. data/lib/net-1.1/nunit-agent.exe +0 -0
  135. data/lib/net-1.1/{nunit.exe.config → nunit-agent.exe.config} +21 -55
  136. data/lib/net-1.1/nunit-console.exe +0 -0
  137. data/lib/net-1.1/nunit-console.exe.config +19 -49
  138. data/lib/net-1.1/nunit.framework.dll +0 -0
  139. data/lib/net-1.1/pnunit-agent.exe +0 -0
  140. data/lib/net-1.1/pnunit-agent.exe.config +87 -0
  141. data/lib/net-1.1/pnunit-launcher.exe +0 -0
  142. data/lib/net-1.1/pnunit-launcher.exe.config +87 -0
  143. data/lib/net-1.1/pnunit.framework.dll +0 -0
  144. data/lib/net-1.1/pnunit.tests.dll +0 -0
  145. data/lib/net-1.1/runpnunit.bat +2 -0
  146. data/lib/net-1.1/test.conf +24 -0
  147. data/lib/net-1.1/{loadtest-assembly.dll → tests/loadtest-assembly.dll} +0 -0
  148. data/lib/net-1.1/tests/mock-assembly.dll +0 -0
  149. data/lib/net-1.1/tests/nonamespace-assembly.dll +0 -0
  150. data/lib/net-1.1/tests/nunit-console.tests.dll +0 -0
  151. data/lib/net-1.1/tests/nunit.core.tests.dll +0 -0
  152. data/lib/net-1.1/tests/nunit.fixtures.tests.dll +0 -0
  153. data/lib/net-1.1/tests/nunit.framework.dll +0 -0
  154. data/lib/net-1.1/tests/nunit.framework.tests.dll +0 -0
  155. data/lib/net-1.1/tests/nunit.mocks.tests.dll +0 -0
  156. data/lib/net-1.1/{nunit.util.tests.dll → tests/nunit.util.tests.dll} +0 -0
  157. data/lib/net-1.1/tests/test-assembly.dll +0 -0
  158. data/lib/net-1.1/tests/test-utilities.dll +0 -0
  159. data/lib/net-1.1/tests/timing-tests.dll +0 -0
  160. data/lib/net-2.0/NUnitTests.config +2 -2
  161. data/lib/net-2.0/NUnitTests.nunit +11 -11
  162. data/lib/net-2.0/agent.conf +4 -0
  163. data/lib/net-2.0/agent.log.conf +18 -0
  164. data/lib/net-2.0/framework/nunit.framework.dll +0 -0
  165. data/lib/net-2.0/framework/nunit.framework.xml +9803 -0
  166. data/lib/net-2.0/framework/nunit.mocks.dll +0 -0
  167. data/lib/net-2.0/framework/pnunit.framework.dll +0 -0
  168. data/lib/net-2.0/launcher.log.conf +18 -0
  169. data/lib/{net-1.1 → net-2.0/lib}/Failure.jpg +0 -0
  170. data/lib/net-2.0/{Success.jpg → lib/Gray.jpg} +0 -0
  171. data/lib/{net-1.1 → net-2.0/lib}/Ignored.jpg +0 -0
  172. data/lib/{net-1.1 → net-2.0/lib}/Success.jpg +0 -0
  173. data/lib/net-2.0/{fit.dll → lib/fit.dll} +0 -0
  174. data/lib/net-2.0/lib/log4net.dll +0 -0
  175. data/lib/net-2.0/lib/nunit-console-runner.dll +0 -0
  176. data/lib/net-2.0/lib/nunit-gui-runner.dll +0 -0
  177. data/lib/net-2.0/lib/nunit.core.dll +0 -0
  178. data/lib/net-2.0/lib/nunit.core.interfaces.dll +0 -0
  179. data/lib/net-2.0/lib/nunit.fixtures.dll +0 -0
  180. data/lib/net-2.0/lib/nunit.uiexception.dll +0 -0
  181. data/lib/net-2.0/lib/nunit.uikit.dll +0 -0
  182. data/lib/net-2.0/lib/nunit.util.dll +0 -0
  183. data/lib/net-2.0/nunit-agent.exe +0 -0
  184. data/lib/net-2.0/nunit-agent.exe.config +87 -0
  185. data/lib/net-2.0/nunit-console-x86.exe +0 -0
  186. data/lib/net-2.0/nunit-console-x86.exe.config +19 -49
  187. data/lib/net-2.0/nunit-console.exe +0 -0
  188. data/lib/net-2.0/nunit-console.exe.config +19 -49
  189. data/lib/net-2.0/nunit-x86.exe +0 -0
  190. data/lib/net-2.0/nunit-x86.exe.config +48 -74
  191. data/lib/net-2.0/nunit.exe +0 -0
  192. data/lib/net-2.0/nunit.exe.config +48 -74
  193. data/lib/net-2.0/nunit.framework.dll +0 -0
  194. data/lib/net-2.0/pnunit-agent.exe +0 -0
  195. data/lib/net-2.0/pnunit-agent.exe.config +87 -0
  196. data/lib/net-2.0/pnunit-launcher.exe +0 -0
  197. data/lib/net-2.0/pnunit-launcher.exe.config +87 -0
  198. data/lib/net-2.0/pnunit.framework.dll +0 -0
  199. data/lib/net-2.0/pnunit.tests.dll +0 -0
  200. data/lib/net-2.0/runpnunit.bat +2 -0
  201. data/lib/net-2.0/test.conf +24 -0
  202. data/lib/net-2.0/{loadtest-assembly.dll → tests/loadtest-assembly.dll} +0 -0
  203. data/lib/net-2.0/tests/mock-assembly.dll +0 -0
  204. data/lib/net-2.0/tests/nonamespace-assembly.dll +0 -0
  205. data/lib/net-2.0/tests/nunit-console.tests.dll +0 -0
  206. data/lib/net-2.0/tests/nunit-gui.tests.dll +0 -0
  207. data/lib/net-2.0/tests/nunit.core.tests.dll +0 -0
  208. data/lib/net-2.0/tests/nunit.fixtures.tests.dll +0 -0
  209. data/lib/net-2.0/tests/nunit.framework.dll +0 -0
  210. data/lib/net-2.0/tests/nunit.framework.tests.dll +0 -0
  211. data/lib/net-2.0/tests/nunit.mocks.tests.dll +0 -0
  212. data/lib/net-2.0/tests/nunit.uiexception.tests.dll +0 -0
  213. data/lib/net-2.0/tests/nunit.uikit.tests.dll +0 -0
  214. data/lib/net-2.0/{nunit.util.tests.dll → tests/nunit.util.tests.dll} +0 -0
  215. data/lib/net-2.0/tests/test-assembly.dll +0 -0
  216. data/lib/net-2.0/tests/test-utilities.dll +0 -0
  217. data/lib/net-2.0/tests/timing-tests.dll +0 -0
  218. metadata +131 -74
  219. data/docs/classicModel.html +0 -92
  220. data/docs/customAsserts.html +0 -115
  221. data/docs/features.html +0 -75
  222. data/docs/files/Thumbs.db +0 -0
  223. data/docs/platformSupport.html +0 -99
  224. data/lib/net-1.1/mock-assembly.dll +0 -0
  225. data/lib/net-1.1/nonamespace-assembly.dll +0 -0
  226. data/lib/net-1.1/notestfixtures-assembly.dll +0 -0
  227. data/lib/net-1.1/nunit-console-runner.dll +0 -0
  228. data/lib/net-1.1/nunit-console.tests.dll +0 -0
  229. data/lib/net-1.1/nunit-gui-runner.dll +0 -0
  230. data/lib/net-1.1/nunit-gui.tests.dll +0 -0
  231. data/lib/net-1.1/nunit.core.dll +0 -0
  232. data/lib/net-1.1/nunit.core.extensions.dll +0 -0
  233. data/lib/net-1.1/nunit.core.interfaces.dll +0 -0
  234. data/lib/net-1.1/nunit.core.tests.dll +0 -0
  235. data/lib/net-1.1/nunit.exe +0 -0
  236. data/lib/net-1.1/nunit.extensions.tests.dll +0 -0
  237. data/lib/net-1.1/nunit.fixtures.dll +0 -0
  238. data/lib/net-1.1/nunit.fixtures.tests.dll +0 -0
  239. data/lib/net-1.1/nunit.framework.extensions.dll +0 -0
  240. data/lib/net-1.1/nunit.framework.tests.dll +0 -0
  241. data/lib/net-1.1/nunit.framework.xml +0 -5622
  242. data/lib/net-1.1/nunit.mocks.dll +0 -0
  243. data/lib/net-1.1/nunit.mocks.tests.dll +0 -0
  244. data/lib/net-1.1/nunit.uikit.dll +0 -0
  245. data/lib/net-1.1/nunit.uikit.tests.dll +0 -0
  246. data/lib/net-1.1/nunit.util.dll +0 -0
  247. data/lib/net-1.1/test-assembly.dll +0 -0
  248. data/lib/net-1.1/test-utilities.dll +0 -0
  249. data/lib/net-1.1/timing-tests.dll +0 -0
  250. data/lib/net-2.0/Failure.jpg +0 -0
  251. data/lib/net-2.0/Ignored.jpg +0 -0
  252. data/lib/net-2.0/mock-assembly.dll +0 -0
  253. data/lib/net-2.0/nonamespace-assembly.dll +0 -0
  254. data/lib/net-2.0/notestfixtures-assembly.dll +0 -0
  255. data/lib/net-2.0/nunit-console-runner.dll +0 -0
  256. data/lib/net-2.0/nunit-console.tests.dll +0 -0
  257. data/lib/net-2.0/nunit-gui-runner.dll +0 -0
  258. data/lib/net-2.0/nunit-gui.tests.dll +0 -0
  259. data/lib/net-2.0/nunit.core.dll +0 -0
  260. data/lib/net-2.0/nunit.core.extensions.dll +0 -0
  261. data/lib/net-2.0/nunit.core.interfaces.dll +0 -0
  262. data/lib/net-2.0/nunit.core.tests.dll +0 -0
  263. data/lib/net-2.0/nunit.extensions.tests.dll +0 -0
  264. data/lib/net-2.0/nunit.fixtures.dll +0 -0
  265. data/lib/net-2.0/nunit.fixtures.tests.dll +0 -0
  266. data/lib/net-2.0/nunit.framework.extensions.dll +0 -0
  267. data/lib/net-2.0/nunit.framework.tests.dll +0 -0
  268. data/lib/net-2.0/nunit.framework.xml +0 -5622
  269. data/lib/net-2.0/nunit.mocks.dll +0 -0
  270. data/lib/net-2.0/nunit.mocks.tests.dll +0 -0
  271. data/lib/net-2.0/nunit.uikit.dll +0 -0
  272. data/lib/net-2.0/nunit.uikit.tests.dll +0 -0
  273. data/lib/net-2.0/nunit.util.dll +0 -0
  274. data/lib/net-2.0/test-assembly.dll +0 -0
  275. data/lib/net-2.0/test-utilities.dll +0 -0
  276. data/lib/net-2.0/timing-tests.dll +0 -0
@@ -0,0 +1,149 @@
1
+ <!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
2
+ <html>
3
+ <!-- Standard Head Part -->
4
+ <head>
5
+ <title>NUnit - Range</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
7
+ <meta http-equiv="Content-Language" content="en-US">
8
+ <link rel="stylesheet" type="text/css" href="nunit.css">
9
+ <link rel="shortcut icon" href="favicon.ico">
10
+ </head>
11
+ <!-- End Standard Head Part -->
12
+
13
+ <body>
14
+
15
+ <!-- Standard Header for NUnit.org -->
16
+ <div id="header">
17
+ <a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a>
18
+ <div id="nav">
19
+ <a href="http://www.nunit.org">NUnit</a>
20
+ <a class="active" href="index.html">Documentation</a>
21
+ </div>
22
+ </div>
23
+ <!-- End of Header -->
24
+
25
+ <div id="content">
26
+
27
+ <h3>RangeAttribute (NUnit 2.5)</h3>
28
+
29
+ <p>The <b>RangeAttribute</b> is used to specify a range of values to be provided
30
+ for an individual parameter of a parameterized test method. Since
31
+ NUnit combines the data provided for each parameter into a set of
32
+ test cases, data must be provided for all parameters if it is
33
+ provided for any of them.
34
+
35
+ <p>By default, NUnit creates test cases from all possible combinations
36
+ of the datapoints provided on parameters - the combinatorial approach.
37
+ This default may be modified by use of specific attributes on the
38
+ test method itself.
39
+
40
+ <p>RangeAttribute supports the following constructors:
41
+
42
+ <div class="code"><pre>
43
+ public RangeAttribute( int from, int to );
44
+ public RangeAttribute( int from, int to, int step );
45
+ public RangeAttribute( long from, long to, long step );
46
+ public RangeAttribute( float from, float to, float step );
47
+ public RangeAttribute( double from, double to, double step );
48
+ </pre></div>
49
+
50
+ <h4>Example</h4>
51
+
52
+ <p>The following test will be executed nine times, as follows:
53
+ <pre>
54
+ MyTest(1, 0.2)
55
+ MyTest(1, 0.4)
56
+ MyTest(1, 0.6)
57
+ MyTest(2, 0.2)
58
+ MyTest(2, 0.4)
59
+ MyTest(2, 0.6)
60
+ MyTest(3, 0.2)
61
+ MyTest(3, 0.4)
62
+ MyTest(3, 0.6)
63
+ </pre>
64
+ <div class="code"><pre>
65
+ [Test]
66
+ public void MyTest(
67
+ [Values(1,2,3) int x,
68
+ [Range(0.2,0.6,0.2] double d)
69
+ {
70
+ ...
71
+ }
72
+ </pre></div>
73
+
74
+ <h4>See also...</h4>
75
+ <ul>
76
+ <li><a href="values.html">ValuesAttribute</a><li><a href="random.html">RandomAttribute</a><li><a href="sequential.html">SequentialAttribute</a><li><a href="combinatorial.html">CombinatorialAttribute</a><li><a href="pairwise.html">PairwiseAttribute</a></ul>
77
+
78
+ </div>
79
+
80
+ <!-- Submenu -->
81
+ <div id="subnav">
82
+ <ul>
83
+ <li><a href="index.html">NUnit 2.5</a></li>
84
+ <ul>
85
+ <li><a href="getStarted.html">Getting&nbsp;Started</a></li>
86
+ <li><a href="assertions.html">Assertions</a></li>
87
+ <li><a href="constraintModel.html">Constraints</a></li>
88
+ <li><a href="attributes.html">Attributes</a></li>
89
+ <ul>
90
+ <li><a href="category.html">Category</a></li>
91
+ <li><a href="combinatorial.html">Combinatorial</a></li>
92
+ <li><a href="culture.html">Culture</a></li>
93
+ <li><a href="datapoint.html">Datapoint(s)</a></li>
94
+ <li><a href="description.html">Description</a></li>
95
+ <li><a href="exception.html">Exception</a></li>
96
+ <li><a href="explicit.html">Explicit</a></li>
97
+ <li><a href="ignore.html">Ignore</a></li>
98
+ <li><a href="maxtime.html">Maxtime</a></li>
99
+ <li><a href="pairwise.html">Pairwise</a></li>
100
+ <li><a href="platform.html">Platform</a></li>
101
+ <li><a href="property.html">Property</a></li>
102
+ <li><a href="random.html">Random</a></li>
103
+ <li id="current"><a href="range.html">Range</a></li>
104
+ <li><a href="repeat.html">Repeat</a></li>
105
+ <li><a href="requiredAddin.html">RequiredAddin</a></li>
106
+ <li><a href="requiresMTA.html">Requires&nbsp;MTA</a></li>
107
+ <li><a href="requiresSTA.html">Requires&nbsp;STA</a></li>
108
+ <li><a href="requiresThread.html">Requires&nbsp;Thread</a></li>
109
+ <li><a href="sequential.html">Sequential</a></li>
110
+ <li><a href="setCulture.html">SetCulture</a></li>
111
+ <li><a href="setup.html">Setup</a></li>
112
+ <li><a href="setupFixture.html">SetupFixture</a></li>
113
+ <li><a href="suite.html">Suite</a></li>
114
+ <li><a href="teardown.html">Teardown</a></li>
115
+ <li><a href="test.html">Test</a></li>
116
+ <li><a href="testCase.html">TestCase</a></li>
117
+ <li><a href="testCaseSource.html">TestCaseSource</a></li>
118
+ <li><a href="testFixture.html">TestFixture</a></li>
119
+ <li><a href="fixtureSetup.html">TestFixtureSetUp</a></li>
120
+ <li><a href="fixtureTeardown.html">TestFixtureTearDown</a></li>
121
+ <li><a href="theory.html">Theory</a></li>
122
+ <li><a href="timeout.html">Timeout</a></li>
123
+ <li><a href="values.html">Values</a></li>
124
+ <li><a href="valueSource.html">ValueSource</a></li>
125
+ </ul>
126
+ <li><a href="nunit-console.html">Console&nbsp;Runner</a></li>
127
+ <li><a href="nunit-gui.html">Gui&nbsp;Runner</a></li>
128
+ <li><a href="configFiles.html">Configuration&nbsp;Files</a></li>
129
+ <li><a href="pnunit.html">PNUnit</a></li>
130
+ <li><a href="multiAssembly.html">Multiple&nbsp;Assemblies</a></li>
131
+ <li><a href="vsSupport.html">Visual&nbsp;Studio&nbsp;Support</a></li>
132
+ <li><a href="extensibility.html">Extensibility</a></li>
133
+ <li><a href="releaseNotes.html">Release&nbsp;Notes</a></li>
134
+ <li><a href="samples.html">Samples</a></li>
135
+ <li><a href="license.html">License</a></li>
136
+ </ul>
137
+ </ul>
138
+ </div>
139
+ <!-- End of Submenu -->
140
+
141
+
142
+ <!-- Standard Footer for NUnit.org -->
143
+ <div id="footer">
144
+ Copyright &copy; 2009 Charlie Poole. All Rights Reserved.
145
+ </div>
146
+ <!-- End of Footer -->
147
+
148
+ </body>
149
+ </html>
@@ -0,0 +1,861 @@
1
+ <!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
2
+ <html>
3
+ <!-- Standard Head Part -->
4
+ <head>
5
+ <title>NUnit - ReleaseDetail</title>
6
+ <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
7
+ <meta http-equiv="Content-Language" content="en-US">
8
+ <link rel="stylesheet" type="text/css" href="nunit.css">
9
+ <link rel="shortcut icon" href="favicon.ico">
10
+ </head>
11
+ <!-- End Standard Head Part -->
12
+
13
+ <body>
14
+
15
+ <!-- Standard Header for NUnit.org -->
16
+ <div id="header">
17
+ <a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a>
18
+ <div id="nav">
19
+ <a href="http://www.nunit.org">NUnit</a>
20
+ <a class="active" href="index.html">Documentation</a>
21
+ </div>
22
+ </div>
23
+ <!-- End of Header -->
24
+
25
+ <div id="content">
26
+
27
+ <style><!--
28
+ li { padding-bottom: .5em; }
29
+ ul ul li { padding-bottom: 0; }
30
+ dt { font-weight: bold }
31
+ --></style>
32
+
33
+ <h3>NUnit 2.5 Final Release - Version 2.5.0.9122 - May 2, 2009</h3>
34
+
35
+ <div style="max-width:660px;text-align:right">
36
+ <a href="releaseNotes.html">View Combined 2.5 Changes</a>
37
+ </div>
38
+
39
+ <h4>Framework</h4>
40
+
41
+ <ul>
42
+ <li>A new syntax element, <b>Matches(Constraint)</b>, allows use of
43
+ custom constraints, predicates or lambda expressions in constraint expressions.
44
+
45
+ <li>The <b>MessageMatch</b> enum used with <b>ExpectedExceptionAttribute</b>
46
+ has been extended with a new value <b>StartsWith</b>, indicating that the
47
+ exception message must start with the string provided.
48
+
49
+ <li><b>TestCaseAttribute</b> now supports a <b>MessageMatch</b>
50
+ property.
51
+ </ul>
52
+
53
+ <h4>Gui</h4>
54
+
55
+ <ul>
56
+ <li>The File menu now allows selecting an alternate runtime,
57
+ such as Mono, on a machine with multiple CLR implementations
58
+ installed. This feature is still considered experimental and
59
+ may change in the future.
60
+
61
+ <li>The combo box in the Project Editor allowing selection of
62
+ a particular runtime type such as Mono for loading the test
63
+ has been re-enabled.
64
+ </ul>
65
+
66
+ <h4>Bug Fixes</h4>
67
+
68
+ <ul>
69
+ <li>Provided a workaround to a Mono 2.4 bug in handling remote
70
+ references to an interface, where the provider is running under
71
+ MS .NET and the implementation is explicit.
72
+
73
+ <li>Fixed a problem with the display of line numbers from a German
74
+ language stack trace, with lines terminating in a period.
75
+
76
+ <li> The Console Runner display now shows the settings for ProcessModel,
77
+ DomainUsage and RuntimeFramework actually provided, before resolution
78
+ of any defaults.
79
+
80
+ <li> Removed references in the docs to pages that no longer exist.
81
+ </ul>
82
+
83
+ <h3>NUnit 2.5 Release Candidate - Version 2.5.0.9117 - April 27, 2009</h3>
84
+
85
+ <h4>General</h4>
86
+
87
+ <ul>
88
+ <li>The installation now uses a 'lib' subdirectory to hold dlls.
89
+
90
+ <li>The build script target names have been changed to make more sense.
91
+ In particular, 'package' now builds the default package and
92
+ targets not intended to be called directly are no longer listed
93
+ as 'Main Targets' by the -projecthelp option.
94
+ </ul>
95
+
96
+ <h4>Framework</h4>
97
+
98
+ <ul>
99
+ <li>The following Constraints now use the NUnit definition
100
+ of equality in comparing items, which may lead to changed behavior
101
+ of some tests.
102
+ <ul><b>
103
+ <li>UniqueItemsConstraint
104
+ <li>CollectionContainsConstraint
105
+ <li>CollectionEquivalentConstraint
106
+ <li>CollectionSubsetConstraint
107
+ </b></ul>
108
+ The constraints listed now accept the <b>IgnoreCase</b> and <b>Using</b>
109
+ modifiers, which work exactly as they do with <b>EqualConstraint</b>
110
+ </ul>
111
+
112
+ <h4>Core</h4>
113
+
114
+ <ul>
115
+ <li>Caching is now used to reduce the time required to load tests.
116
+ </ul>
117
+
118
+ <h4>Gui</h4>
119
+
120
+ <ul>
121
+ <li>A new submenu under <b>File</b> allows selecting a runtime version
122
+ under which to reload the tests. Reloading in this way does not affect
123
+ any runtime version setting in the project file.
124
+
125
+ <li>The project editor now provides a combo box listing known versions
126
+ of the runtime. Other versions may still be entered in the edit box.
127
+ Cross-CLR execution (for example, running Mono from .NET) has
128
+ been disabled in the Gui, since it isn't yet implemented.
129
+
130
+ <li>The new stack trace display now follows the NUnit Font settings.
131
+ The stack display uses the general gui font, while the source code
132
+ display uses the fixed font.
133
+
134
+ <li>The separate settings for Recent Files under .NET 1.1
135
+ and .NET 2.0 have been combined, since the Gui now runs exclusively
136
+ under .NET 2.0.
137
+
138
+ <li>The time required to restore the visual state of the tree after
139
+ reloading has been substantially reduced, especially for large numbers
140
+ of tests.
141
+ </ul>
142
+
143
+ <h4>Bug Fixes</h4>
144
+
145
+ <ul>
146
+ <li>Use of a long assembly name for the ApplicationName of the AppDomain
147
+ was causing excessively long paths in the shadow cache.
148
+
149
+ <li>The <b>Using</b> modifier of <b>EqualConstraint</b> now works as
150
+ expected for string operands.
151
+
152
+ <li><b>TestCaseAttribute.ExpectedExceptionMessage</b> is no longer ignored.
153
+
154
+ <li>The max number of files setting was not being saved when modified
155
+ in the Gui Settings dialog.
156
+
157
+ <li>As a temporary fix, the pnunit.tests.dll has been moved to the
158
+ same directory as pnunit-agent.exe and pnunit-launcher.exe, since
159
+ pnunit tests don't allow for setting an appbase separate from the
160
+ location of the test assembly.
161
+ </ul>
162
+
163
+ <h3>NUnit 2.5 Beta 3 Release - Version 2.5.0.9096 - April 6, 2009</h3>
164
+
165
+ <h4>General</h4>
166
+
167
+ <ul>
168
+ <li>The Gui is now built against .NET 2.0 only. Tests may still
169
+ be run under .NET 1.x by running in a separate process.
170
+
171
+ <li>The Visual Studio 2003 solution has been removed. Framework
172
+ and other components may still be built under .NET 1.x through
173
+ the NAnt script.
174
+
175
+ <li>The nunit.framework.extensions assembly has been removed
176
+ from the build.
177
+ </ul>
178
+
179
+ <h4>Framework</h4>
180
+
181
+ <ul>
182
+ <li><b>EqualConstraint</b> has been enhanced with
183
+ several new modifiers, which may be used immediately after
184
+ the Within(...) modifier to indicate how a numeric tolerance value
185
+ should be interpreted.
186
+ <ul>
187
+ <li><b>Ulps</b> = as units in the last place (floating point only)
188
+ <li><b>Percent</b> = as a percentage of expected value
189
+ <li><b>Days</b> = as a TimeSpan in days
190
+ <li><b>Hours</b> = as a TimeSpan in hours
191
+ <li><b>Minutes</b> = as a TimeSpan in minutes
192
+ <li><b>Seconds</b> = as a TimeSpan in seconds
193
+ <li><b>Milliseconds</b> = as a TimeSpan in milliseconds
194
+ <li><b>Ticks</b> = as a TimeSpan in ticks
195
+ </ul>
196
+
197
+ <li>The comparison constraints (<b>GreaterThan</b>, <b>LessThan</b>, etc.),
198
+ <b>RangeConstraint</b> and <b>CollectionOrderedConstraint</b> may now be used
199
+ with objects that implement <b>IComparable&lt;T&gt;</b>.
200
+
201
+ <li>The syntax used for specifying that a collection is ordered has changed.
202
+ <b>Is.Ordered</b> is now a property. The property name to use for ordering
203
+ is specified using <b>Is.Ordered.By(name)</b>.
204
+
205
+ <li>The following constraints now accept a <b>Using</b> modifier to indicate
206
+ that a user-specified comparer should be used:
207
+ <ul><b>
208
+ <li>EqualConstraint
209
+ <li>GreaterThanConstraint
210
+ <li>GreaterThanOrEqualConstraint
211
+ <li>LessThanConstraint
212
+ <li>LessThanOrEqualConstraint
213
+ <li>RangeConstraint
214
+ <li>CollectionOrderedConstraint
215
+ </b></ul>
216
+ The provided comparer may be any of the following:
217
+ <ul><b>
218
+ <li>IComparer
219
+ <li>IComparer&lt;T&gt;
220
+ <li>Comparison&lt;T&gt;
221
+ </b></ul>
222
+ In addition, <b>EqualConstraint</b> may use:
223
+ <ul><b>
224
+ <li>IEqualityComparer
225
+ <li>IEqualityComparer&lt;T&gt;
226
+ </b></ul>
227
+ </ul>
228
+
229
+ <h3>NUnit 2.5 Beta 2 Release - Version 2.5.0.9015 - January 15, 2009</h3>
230
+
231
+ <h4>Framework</h4>
232
+
233
+ <ul>
234
+ <li>NUnit now includes an implementation of <b>Theories</b>, similar to what
235
+ is found in JUnit. Support for Theories is provided by the
236
+ <b>Theory</b>, <b>Datapoint</b> and <b>Datapoints</b> attributes and by
237
+ the <b>Assume.That</b> method. For more information and further links,
238
+ see the <a href="theory.html">TheoryAttribute</a>
239
+ documentation page.
240
+ <li>AssertionHelper has been updated so that the Expect overloads now
241
+ include the signatures newly introduced for Assert.That.
242
+ <li>The code for Assert is now generated. This is in addition to the files
243
+ that were generated in beta-1.
244
+ <li><b>AfterConstraint</b> has been renamed to <b>DelayedConstraint</b>.
245
+ </ul>
246
+
247
+ <h4>Console</h4>
248
+
249
+ <ul>
250
+ <li>The console runner now supports a <b>/framework</b> option, which
251
+ allows running the tests under a different version of the CLR.
252
+ </ul>
253
+
254
+ <h4>Gui</h4>
255
+
256
+ <ul>
257
+ <li>The Gui is now able to display the source code for test or production
258
+ code from the stack trace, provided the assemblies contain source code
259
+ information and the source code is available. Contributed by Ir�n�e Hottier.
260
+ <li>Reloading the tests after changing settings in a way that modifies
261
+ the shape of the tree is now handled correctly.
262
+ <li>The Settings Dialog now opens to the page that was last viewed.
263
+ </ul>
264
+
265
+ <h3>NUnit 2.5 Beta 1 Release - Version 2.5.0.8332 - November 27, 2008</h3>
266
+
267
+ <h4>General</h4>
268
+
269
+ <ul>
270
+ <li>Most of the code for elements of the constraint
271
+ syntax is now generated. This allows us to more rapidly deploy new
272
+ constraints with their corresponding syntax. The file <b>SyntaxElements.txt</b>
273
+ contains the specifications used in generating the code. At this time,
274
+ we are including both this file and the generated files with the NUnit source,
275
+ so that those working in other areas of the code don't have to regenerate
276
+ them each time they make changes.
277
+ <li>The nunit.core.extensions assembly has been removed from the build. Features
278
+ that were previously in that assembly are now in the nunit.core assembly.
279
+ <li>All third-party addins have been removed from the build and must be
280
+ downloaded separately from their own sites. An index of such
281
+ addins is maintained on the NUnit site.
282
+ </ul>
283
+
284
+ <h4>Framework</h4>
285
+ <ul>
286
+ <li>New attributes are provided to control use of threads by tests. All of
287
+ the following may be used on methods, classes or assemblies:
288
+ <ul>
289
+ <li><b>RequiresThreadAttribute</b> forces creation of a new thread and
290
+ may optionally indicate the desired ApartmentState for the thread.
291
+ <li><b>RequiresSTAAttribute</b> causes the test to run in the STA. A
292
+ new thread is created only if the parent is not in the STA. On
293
+ methods, the .NET-provided STAThreadAttribute may also be used.
294
+ <li><b>RequiresMTAAttribute</b> causes the test to run in the MTA. A
295
+ new thread is created only if the parent is not in the MTA. On
296
+ methods, the .NET-provided MTAThreadAttribute may also be used.
297
+ <li><b>TimeoutAttribute</b> is used to set the timeout for tests. When
298
+ used on classes or assemblies, the timeout value is used as the
299
+ default timeout for all subordinate test cases. Test cases with
300
+ a timeout value run on a separate thread and return a failure
301
+ message if the timeout is exceeded.
302
+ </ul>
303
+ <li>The <b>MaxTimeAttribute</b> specifies a miximum elapsed time for a
304
+ test case. If the test takes longer, it is reported as a failure.
305
+ This attribute was previously available as an extension.
306
+ <br><br>
307
+ <b>Note:</b> Unlike <b>TimeoutAttribute</b>, <b>MaxTimeAttribute</b>
308
+ does not cause the test to be cancelled, but merely times it.
309
+ <li><b>RepeatAttribute</b> causes a test case to be executed multiple
310
+ times. This attribute was previously available as an extension.
311
+ <li><b>PairwiseAttribute</b> now works, generating all pairs of each
312
+ argument value. [In earlier betas, it was unimpemented and simply
313
+ generated all combinations.]
314
+ <li><b>PropertyAttribute</b> has been modified internally to use a dictionary
315
+ of name/value pairs rather than just a single name and value. This feature
316
+ is not exposed for direct use, but may be accessed by derived attributes
317
+ that want to apply multiple named values to the test. For a simple
318
+ example of usage, see the code for <b>RequiredThreadAttribute</b>.
319
+ <li>The presence of <b>TestCaseSourceAttribute</b> on a method is now
320
+ sufficient to identify it as a test. As with <b>TestCaseAttribute</b>,
321
+ use of <b>TestAttribute</b> is optional.
322
+ <li><b>Assert.That</b> has been extended to allow a delegate or a reference
323
+ as the argument. By default, these are evaluated before being used by
324
+ the constraint supplied but some constraints may delay evaluation. The
325
+ new <b>AfterConstraint</b> is an example.
326
+ <li>An additional overload of <b>Assert.Throws</b> allows passing a
327
+ constraint or constraint expression as the first argument.
328
+ <li>The syntax for AttributeConstraints has been enhanced so that further
329
+ tests may be applied to properties of the attribute rather than just
330
+ checking for its existence.
331
+ <li><b>AfterConstraint</b> allows delaying the application of a constraint
332
+ until a certain time has passed. In it's simplest form, it replaces
333
+ use of a Sleep in the code but it also supports polling, which may
334
+ allow use of a longer maximum time while still keeping the tests as
335
+ fast as possible. The <b>After</b> modifier is permitted on any
336
+ constraint, but the delay applies to the entire expression up to the
337
+ point where <b>After</b> appears.
338
+ <br><br>
339
+ <b>Note:</b> Use of After with a simple value makes no sense, since
340
+ the value will be extracted at the point of call. It's intended use
341
+ is with delegates and references. If a delegate is used with polling,
342
+ it may be called multiple times so only methods without side effects
343
+ should be used in this way.
344
+ </ul>
345
+
346
+ <h4>Core</h4>
347
+
348
+ <ul>
349
+ <li>NUnit now supports running tests in a separate process or in
350
+ multiple processes per assembly. In addition, tests run in
351
+ a separate process may use a different runtime version
352
+ from that under which NUnit is running.
353
+ <br><br>
354
+ <b>Note:</b> In the Beta release, execution of tests under Mono
355
+ from a copy of NUnit that is running under .NET is not yet supported.
356
+ </ul>
357
+
358
+ <h4>Console</h4>
359
+
360
+ <ul>
361
+ <li>The new <b>/process:xxxxx</b> command line option is used to run
362
+ tests in a separate process or in multiple processes per assembly.
363
+ <li>A new commandline option, <b>/timeout:nnnn</b> allows you to specify a
364
+ default timeout value, which is applied to each test case in the run without
365
+ a Timeout specified.
366
+ </ul>
367
+
368
+ <h4>Gui</h4>
369
+
370
+ <ul>
371
+ <li>The Assembly Info display now uses a scrolling text box and has
372
+ been enhanced to show information about the Process and AppDomain
373
+ in which the test is running and the runtime version under that
374
+ is being used.
375
+ <li>The Project Editor now allows setting the ProcessModel and
376
+ DomainUsage for a project to control how that project is
377
+ loaded and run. It also supports setting a target runtime
378
+ framework for each configuration. If the target runtime is
379
+ different from the runtime under which NUnit is running, the
380
+ tests will be run automatically in a separate process under
381
+ the target runtime.
382
+ <li>The Project Editor no longer reloads the tests as each
383
+ individual change is made. Tests are reloaded after the
384
+ editor is closed and only if changes have been made to
385
+ the overall project configuration or to the active
386
+ configuration.
387
+ <li>The "Options" dialog is now called "Settings."
388
+ </ul>
389
+
390
+ <h4>Extensibility</h4>
391
+
392
+ <ul>
393
+ <li>The implementation of constraints has been changed so that it is no
394
+ longer necessary to create an additional "Modifier" class when a
395
+ custom constraint takes modifiers. If you simply implement each modifier
396
+ as a property or method returning the object itself, it will be
397
+ usable in the full range of constraint expressions.
398
+ <br><br>
399
+ <b>Note:</b> Although you can readily create custom constraints,
400
+ this release of NUnit still lacks the ability to create new syntactic
401
+ elements without rebuilding the framework.
402
+ </ul>
403
+
404
+ <h4>Bug Fixes</h4>
405
+
406
+ <ul>
407
+ <li>Loading a single assembly and then adding another assembly using
408
+ the Add Assembly menu item was not working correctly.
409
+ <li>Reloading tests after settings changes was failing when the
410
+ new settings changed the shape of the tree in such a way
411
+ that the new tests didn't match the old ones correctly.
412
+ <li>The Reload Project menu item was followed by a prompt asking
413
+ if the current project state should be saved first and making
414
+ the reload work in an unexpected way if you answered yes.
415
+ <li>A class without a TestFixture attribute, containing only
416
+ TestCase methods, without any Tests, was not recognized as
417
+ a test fixture.
418
+ <li>Assert.DoesNotThrow was failing to display a user message.
419
+ <li>Xml documentation for Assert.IsNotEmpty and Assert.AreEqual
420
+ was incorrect.
421
+ <li>CollectionAssert.AreEqual and EqualConstraint were not
422
+ working with IEnumerables that were not also Collections.
423
+ <li>PlatformAttribute now distinguishes correctly between
424
+ Vista and Windows 2008 Server.
425
+ </ul>
426
+
427
+ <h3>NUnit 2.5 Alpha 4 Release - Version 2.5.0.8528 - September 14, 2008</h3>
428
+
429
+ <h4>Framework</h4>
430
+ <ul>
431
+ <li>Use of the TestFixtureAttribute is now optional in designating
432
+ classes that contain tests.
433
+ <li>More than one method may now be marked with the <b>SetUp</b>, <b>TearDown</b>,
434
+ <b>TestFixtureSetUp</b> and <b>TestFixtureTearDown</b> attributes. Setups
435
+ in a base class are executed before those in a derived class and teardowns
436
+ are executed in the reverse order. If there are multiple setups or teardowns
437
+ defined at the same level, the order is unspecified so this practice is
438
+ not generally recommended.
439
+ <li>The <b>FactoryAttribute</b> and <b>TestCaseFactoryAttribute</b> introduced
440
+ in alhpa-3 have been removed. The new <b>TestCaseSourceAttribute</b> allows
441
+ specification of the name of the source of test cases and - optionally - the
442
+ type providing the source if it is not the same as the type that contains the
443
+ test. Only one source may be specified per attribute but the attribute may be
444
+ applied more than once to indicate multiple sources.
445
+ <li>It is now possibe to specify Categories and Properties on test cases
446
+ defined using the TestCaseData class.
447
+ <li>Named fields, properties or methods may be used to provide values for
448
+ individual method parameters using the new <b>ValueSourceAttribute</b>.
449
+ <li>New constraints and corresponding syntactic constructs are provided:
450
+ <ul>
451
+ <li><b>Is.InRange</b> tests that a value lies within a specified range.
452
+ <li><b>Has.Attribute()</b> tests for the presence of a specified attribute
453
+ on a type.
454
+ <li><b>Is.AssignableTo</b> allows reversing the operands of AssignableFrom
455
+ for increased clarity in the code and in any error messages when the
456
+ actual value is of the derived type.
457
+ <li><b>Throws.Exception</b> allows testing the exception thrown by a
458
+ delegate in place and provides the ability to make arbitrary tests
459
+ on the caught exception. <b>Throws.TypeOf()</b> and <b>Throws.InstanceOf()</b>
460
+ are provided as shorthand for the commonly used <b>Throws.Exception.TypeOf()</b>
461
+ and <b>Throws.Exception.InstanceOf</b>.
462
+ <li><b>Throws.Nothing</b> provides for testing that a delegate does
463
+ not throw. While it doesn't do much, it serves the purpose of
464
+ converting an unexpected error into a test failure.
465
+ </ul>
466
+ <li>The parsing of constraint expressions written using the fluent interface
467
+ has been reorganized internally, with the following benefits:
468
+ <ul>
469
+ <li>Meaningless sequences like "...Null.Null..." or "...And.Or..."
470
+ will no longer compile - the NUnit tests actually verify this
471
+ by attempting to compile them.
472
+ <li>Syntax modifiers like <b>Within</b> and <b>IgnoreCase</b> are
473
+ now only accepted - and shown by intellisense - on constraints that
474
+ actually make use of them.
475
+ <li>New <b>And</b> and <b>Or</b> infix operators are provided.
476
+ <li>The <b>With</b> provides some ability to group constraints.
477
+ </ul>
478
+
479
+ <p><p><b>Note:</b> Operators are evaluated in the following order:
480
+ <ol>
481
+ <li>Postfix modifiers (highest)
482
+ <li>Not Operator
483
+ <li>And operator (see below)
484
+ <li>Or operator (see below)
485
+ <li>With operator
486
+ <li>Some, None and All operators
487
+ <li>And operator when followed directly by Some, None or All
488
+ <li>Or operator when followed directly by Some, None or All
489
+ <li>Overloaded operator &amp;
490
+ <li>Overloaded operator | (lowest)
491
+ </ol>
492
+ Operators of equal precedence associate left to right.
493
+
494
+ <li>The "syntax helper" classes, <b>Is</b>, <b>Has</b>, <b>Text</b> and
495
+ <b>List</b> have been moved to the NUnit.Framework namespace, since they
496
+ seem to have entered the mainstream.
497
+ <li>NUnit 2.5 is able to recognize, load and run NUnitLite tests.
498
+ <li>PropertyConstraint now works with Types when testing for the
499
+ existence of a named property.
500
+ </ul>
501
+
502
+ <h4>Core</h4>
503
+ <ul>
504
+ <li>Experimental support is provided for running tests in a separate process.
505
+ Currently, this is only exposed in the Gui runner.
506
+ <li>NUnit recognizes a special attribute on
507
+ the config element of the nunit project file, <b>runtimeFramework</b>,
508
+ which may be set to "net-1.1" or "net-2.0." This causes use of the
509
+ appropriate runner if tests are run in a separate process.
510
+ <p><p>
511
+ <b>Note:</b> Both of the above features are experimental and
512
+ somewhat fragile. Results are expected to vary for different
513
+ installations and we ask that problems be reported.
514
+ </ul>
515
+
516
+ <h4>Gui</h4>
517
+
518
+ <ul>
519
+ <li>The Addin Dialog now shows an error message for any addin that
520
+ fails to load. (from 2.4.8)
521
+ <li>The TestLoader settings dialog provides an option for running tests
522
+ in a separate process.
523
+ <li>The Assembly Info display now shows two runtime versions for each
524
+ test assembly: the one for which it was built and the one under
525
+ which it is currently loaded.
526
+ </ul>
527
+
528
+ <h4>Extensibility</h4>
529
+
530
+ <ul>
531
+ <li>The <b>RequiredAddinAttribute</b> is now only permitted at the assembly level.
532
+ </ul>
533
+
534
+ <h4>Bug Fixes</h4>
535
+
536
+ <ul>
537
+ <li>The Gui output panes were failing to use a fixed font. (from 2.4.8)
538
+ </ul>
539
+
540
+ <h3>NUnit 2.5 Alpha 3 Release - Version 2.5.0.8189 - July 7, 2008</h3>
541
+
542
+ <h4>General</h4>
543
+
544
+ <ul>
545
+ <li>NUnit now uses a new version numbering scheme. The first three
546
+ dot-separated values represent the release level, as before, while
547
+ the fourth is a build number tied to the date of the release. This
548
+ alpha release, for example, is numbered 2.5.0.8189.
549
+ <li>The NUnit source now includes a VS2008 project, in addition to
550
+ the existing VS2005 and VS2003 projects
551
+ </ul>
552
+
553
+ <h4>Framework</h4>
554
+
555
+ <ul>
556
+ <li><b>DataSourceAttribute</b> has been replaced with <b>FactoryAttribute</b>.
557
+ The new attribute may refer to any field, method or property that
558
+ provides test cases consistent with the signature of the method on which
559
+ it appears. The naming of this attribute is still a bit unsatisfactory
560
+ and it may change in the final release.
561
+ <li>The new <b>TestCaseFactoryAttribute</b> class may be used to mark a
562
+ field, method or property that provides test cases. It specifies the
563
+ argument types of the test cases that will be provided and is used
564
+ to identify the cases to be used when the name of a factory is not
565
+ specified.
566
+ <li>Data may be specified for individual arguments of a parameterized test
567
+ using the new attributes: <b>ValuesAttribute</b>, <b>RangeAttribute</b>
568
+ and <b>RandomAttribute</b>. By default, test cases are created using
569
+ every possible combination of the items provided. Attributes on the
570
+ test method may specify how data is combined. This release includes
571
+ <b>SequentialAttribute</b>, <b>CombinatorialAttribute</b> (the default) and
572
+ <b>PairwiseAttribute</b>. However, Pairwise combination is not yet
573
+ implemented, so that attribute is currently ignored.
574
+ <li><b>TestFixture</b> classes may now be generic. They must be marked with
575
+ or or more instances of <b>TextFixtureAttribute</b> using the new
576
+ constructor that takes an array of Types. NUnit will instantiate
577
+ the fixture multiple times, using the type arguments provided.
578
+ <li>Parameterized test methods may now be generic. NUnit will deduce
579
+ the correct implementation to use based on the types of the
580
+ parameters provided.
581
+ <li>The new <b>RequiredAddinAttribute</b> may be used to mark tests,
582
+ fixtures or assemblies, indicating the name of any addin that is
583
+ required to run the tests. If the addin is not present, the test,
584
+ fixture or assembly is marked NotRunnable.
585
+ <li>A new assertion and corresponding constraint <b>IsOrdered</b>
586
+ has been added. (contributed by Simone Busoli)
587
+ <li><b>PlatformAttribute</b> has been extended to accept the new keywords
588
+ <b>NT6</b>, <b>Vista</b> and <b>Win2008Server</b>.
589
+ <br><br>
590
+ <b>Note:</b> In the current alpha release, NUnit is unable to
591
+ distintuish between Vista and Windows 2008 Server. Either
592
+ of them will match all the above values.
593
+ </ul>
594
+
595
+ <h4>Gui</h4>
596
+
597
+ <ul>
598
+ <li>Properties with a collection for a value are now displayed
599
+ displayed as a comma-separated list in the properties window.
600
+ </ul>
601
+
602
+ <h4>Extensibility</h4>
603
+
604
+ <ul>
605
+ <li>The <b>IParameterProvider</b> interface has been replaced with
606
+ <b>ITestCaseProvider</b>. The ParameterProviders extension point
607
+ has been renamed to TestCaseProviders.
608
+ <li>A new extension point, <b>DataPointProviders</b>, has been
609
+ added to support extensions that provide data for individual
610
+ test parameters. Extensions must implement the <b>IDataPointProvider</b>
611
+ interface.
612
+ <li>A simpler method of providing new data point extensions based
613
+ on attributes applied to the parameter itself is also available.
614
+ Such attributes may be derived from <b>ValuesAttribute</b> and
615
+ do not require any special addin in order to work.
616
+ </ul>
617
+
618
+ <h4>Bug Fixes</h4>
619
+
620
+ <ul>
621
+ <li>NUnit tests of AssertThrows were not working on systems using
622
+ non-English cultures.
623
+ <li>Domains were not unloading correctly in some circumstances. Unloading
624
+ is now done on a separate thread.
625
+ <li>An NUnitSettings.xml file of zero length was causing a crash. (from 2.4.8)
626
+ <li>Invoking the gui with /exclude:XXX, where XXX is a non-existent
627
+ category, was causing all tests to be excluded. (from 2.4.8)
628
+ <li>Categories were not working properly on repeated tests. (from 2.4.8)
629
+ <li>A serious memory leak was fixed in the NUnit test runners. (from 2.4.8)
630
+ <li>Static SetUp and TearDown methods were not being called in a SetUpFixture.
631
+ <li>The current directory used when executing addins that load tests was
632
+ not correctly set.
633
+ </ul>
634
+
635
+ <h3>NUnit 2.5 Alpha 2 Release - May 7, 2008</h3>
636
+
637
+ <p><b>Note:</b> Since this is an alpha level release, the
638
+ features are not complete and some features present in
639
+ this release may be removed or changed in future releases.
640
+
641
+ <h4>General</h4>
642
+
643
+ <ul>
644
+ <li>This release includes pNUnit, an extended NUnit runner for distributed
645
+ parallel tests. The pNUnit program was developed at Codice Software
646
+ for use in testing the Plastic SCM and has been contributed to NUnit.
647
+ For more info about using pNUnit see the
648
+ <a href="http://www.codicesoftware.com/opdownloads2/oppnunit.aspx">pNUnit site</a>.
649
+ <li>The install now offers Typical, Complete and Custom options. Selecting
650
+ Typical gets you the NUnit framework, core, console runner and Gui.
651
+ To install pNUnit, any of the bundled addins or the NUnit tests,
652
+ select Complete or Custom.
653
+ </ul>
654
+
655
+ <h4>Extensibility</h4>
656
+
657
+ <ul>
658
+ <li>The RowTestExtension, which was merged into the nunit extension dlls
659
+ in Alpha-1, is now provided as a separate addin. This is the general
660
+ approach we plan to take with regard to any bundled addins, since it
661
+ permits the creator of an addin to provide updates separately from
662
+ the NUnit release.
663
+ <li>This release includes the CSUnitAddin extension, which allows the running of
664
+ CSUnit tests under NUnit. The csunit.dll must be available in order to
665
+ run the tests.
666
+ </ul>
667
+
668
+ <h3>NUnit 2.5 Alpha 1 Release - April 18, 2008</h3>
669
+
670
+ <h4>General</h4>
671
+
672
+ <ul>
673
+ <li>There are no longer separate distributed packages for .NET 1.1 an 2.0.
674
+ Both the binary zip and msi packages contain subdirectories for .NET
675
+ 1.1 and 2.0. In the case of the msi, the user may elect to install either
676
+ or both of them.
677
+ <li>The Visual Studio solutions and projects are now in a directory tree that
678
+ is parallel to the source tree. This eliminates problems where the VS2003
679
+ and VS2005 builds were interfering with one another and makes room for
680
+ adding VS2008.
681
+ <li>NUnit is now built using NAnt 0.86 beta 1
682
+ <li>The windows installer is now created using WiX 2.0.5085
683
+ </ul>
684
+
685
+ <h4>Framework</h4>
686
+
687
+ <ul>
688
+ <li>Two new attributes have been added to support passing arguments
689
+ to test methods:
690
+ <ul>
691
+ <li><b>TestCaseAttribute</b> allows the programmer to
692
+ specify the arguments and a number of optional parameters inline.
693
+ <li><b>DataSourceAttribute</b> identifies a static property that
694
+ will provide the arguments and other parameters.
695
+ </ul>
696
+
697
+ <li>Two new constraints have been added to permit testing of
698
+ application-created paths, without requiring that they exist in
699
+ the file system. The following syntax is supported:
700
+ <ul>
701
+ <li><b>Is.SamePath(string)</b>
702
+ <li><b>Is.SamePathOrUnder(string)</b>
703
+ </ul>
704
+
705
+ <li>The DirectoryAssert class has been added, providing the following Methods:
706
+ <ul>
707
+ <li><b>AreEqual(DirectoryInfo, DirectoryInfo)</b>
708
+ <li><b>AreEqual(string, string)</b>
709
+ <li><b>AreNotEqual(DirectoryInfo, DirectoryInfo)</b>
710
+ <li><b>AreNotEqual(string, string)</b>
711
+ <li><b>IsEmpty(DirectoryInfo, DirectoryInfo)</b>
712
+ <li><b>IsEmpty(string, string)</b>
713
+ <li><b>IsNotEmpty(DirectoryInfo, DirectoryInfo)</b>
714
+ <li><b>IsNotEmpty(string, string)</b>
715
+ <li><b>IsWithin(DirectoryInfo, DirectoryInfo)</b>
716
+ <li><b>IsWithin(string, string)</b>
717
+ <li><b>IsNotWithin(DirectoryInfo, DirectoryInfo)</b>
718
+ <li><b>IsNotWithin(string, string)</b>
719
+ </ul>
720
+
721
+ <li>The method <b>Assert.Throws(Type expectedException, TestSnippet code)</b>
722
+ has been added to provide more control over tests of expected exceptions.
723
+ <b>TestSnippet</b> is a delegate, which may of course be supplied
724
+ anonymously under .NET 2.0. If the correct exception type is thrown,
725
+ the actual exception is returned from the method, allowing further
726
+ verification to be performed.
727
+
728
+ <li>The <b>Assert.DoesNotThrow</b> method may be used to verify that a
729
+ delegate does not throw an exception.
730
+
731
+ <li>The <b>Assert.Pass</b> method allows early termination of a test with a
732
+ successful result.
733
+
734
+ <li>The <b>Assert.Inconclusive</b> method allows returning
735
+ the new Inconclusive result state.
736
+
737
+ <li>NUnit now includes added funtionality in the .NET 2.0 build of
738
+ the framework. The following additional features are supported:
739
+ <ul>
740
+ <li>All Asserts and Constraints work with nullable types.
741
+ <li>Some Asserts allow an alternate generic syntax for convenience:
742
+ <ul>
743
+ <li><b>Assert.IsInstanceOf&lt;T&gt;(object actual);</b>
744
+ <li><b>Assert.IsNotInstanceOf&lt;T&gt;(object actual);</b>
745
+ <li><b>Assert.IsAssignableFrom&lt;T&gt;(object actual);</b>
746
+ <li><b>Assert.IsNotAssignableFrom&lt;T&gt;(object actual);</b>
747
+ <li><b>Assert.Throws&lt;T&gt(TypeSnippet code);</b>
748
+ </ul>
749
+ </ul>
750
+
751
+ <li>The following obsolete interfaces, classes and methods have been removed:
752
+ <ul>
753
+ <li>The <b>IAsserter</b> interface
754
+ <li>The <b>AbstractAsserter</b> class
755
+ <li>The <b>Assertion</b> class
756
+ <li>The <b>AssertionFailureMessage</b> class
757
+ <li>The old <b>NUnit.Framework.TestCase</b> class used for inheriting test classes
758
+ <li>The <b>Assert.DoAssert()</b> method
759
+ <li>Two <b>ExpectedExceptionAttribute(Type, string)</b> constructor
760
+ <li>Two <b>ExpectedExceptionAttribute(string, string)</b> constructor
761
+ </ul>
762
+
763
+ <li>The syntactic constructs in the <b>SyntaxHelpers</b> namespace have been
764
+ moved to the <b>NUnit.Framework.Syntax.CSharp</b> namespace. The old
765
+ namespace may still be used for existing classes, but will not be
766
+ supported after the 2.5 release.
767
+
768
+ </ul>
769
+
770
+ <h4>Core</h4>
771
+
772
+ <ul>
773
+ <li>NUnit now allows use of static methods as tests and for SetUp, TearDown,
774
+ TestFixtureSetUp and TestFixtureTearDown.
775
+ <li>Failures and Errors are now distinquished internally and in summary reports.
776
+ Methods that are not run because they are invalid are also reported separately.
777
+ </ul>
778
+
779
+ <h4>Console</h4>
780
+
781
+ <ul>
782
+ <li>The summary report now displays Errors, Failures, Inconclusive, Ignored and Skipped tests
783
+ separately. More detailed information on non-runnable tests and setup failures
784
+ is provided.
785
+ <li>The console summary report is no longer created using a stylesheet, which
786
+ renders the <b>/transform</b> option meaningless. The option has been removed.
787
+ </ul>
788
+
789
+ <h4>Gui</h4>
790
+
791
+ <ul>
792
+ <li>The default gui display now uses a single tab for all text output. For
793
+ users upgrading from an earlier release, the current settings are
794
+ honored. If you wish to change to the new default, use the Restore Defaults
795
+ button on the Text Output settings dialog.
796
+
797
+ <li>The final test run display shows a more detailed summary: passed tests,
798
+ errors, failures, inconclusive, non-runnable, skipped and ignored.
799
+
800
+ <li>The status bar now displays errors and failures separately in.
801
+
802
+ <li>The tree display shows non-runnable tests in red and inconclusive tests
803
+ in orange. Inconclusive tests are temporarily listed
804
+ on the Tests Not Run tab for this alpha release.
805
+ </ul>
806
+
807
+ <h4>Extensibility</h4>
808
+
809
+ <ul>
810
+ <li>A new extension point <b>ParameterProviders</b> allows addins to
811
+ provide data for parameterized tests.
812
+
813
+ <li>The following extensions are included in the nunit.core.extensions
814
+ and nunit.framework.extensions assemblies:
815
+ <ul>
816
+ <li>The MaxTime extension, which was previously a sample.
817
+ <li>The RowTest extension, which remains an alternative to NUnit's
818
+ native TestCase syntax.
819
+ <li>The XmlConstraint extension, which allows comparing two xml files
820
+ </ul>
821
+ </ul>
822
+
823
+
824
+ </div>
825
+
826
+ <!-- Submenu -->
827
+ <div id="subnav">
828
+ <ul>
829
+ <li><a href="index.html">NUnit 2.5</a></li>
830
+ <ul>
831
+ <li><a href="getStarted.html">Getting&nbsp;Started</a></li>
832
+ <li><a href="assertions.html">Assertions</a></li>
833
+ <li><a href="constraintModel.html">Constraints</a></li>
834
+ <li><a href="attributes.html">Attributes</a></li>
835
+ <li><a href="nunit-console.html">Console&nbsp;Runner</a></li>
836
+ <li><a href="nunit-gui.html">Gui&nbsp;Runner</a></li>
837
+ <li><a href="configFiles.html">Configuration&nbsp;Files</a></li>
838
+ <li><a href="pnunit.html">PNUnit</a></li>
839
+ <li><a href="multiAssembly.html">Multiple&nbsp;Assemblies</a></li>
840
+ <li><a href="vsSupport.html">Visual&nbsp;Studio&nbsp;Support</a></li>
841
+ <li><a href="extensibility.html">Extensibility</a></li>
842
+ <li><a href="releaseNotes.html">Release&nbsp;Notes</a></li>
843
+ <ul>
844
+ <li id="current"><a href="releaseDetail.html">Pre-Release Details</a></li>
845
+ </ul>
846
+ <li><a href="samples.html">Samples</a></li>
847
+ <li><a href="license.html">License</a></li>
848
+ </ul>
849
+ </ul>
850
+ </div>
851
+ <!-- End of Submenu -->
852
+
853
+
854
+ <!-- Standard Footer for NUnit.org -->
855
+ <div id="footer">
856
+ Copyright &copy; 2009 Charlie Poole. All Rights Reserved.
857
+ </div>
858
+ <!-- End of Footer -->
859
+
860
+ </body>
861
+ </html>