/usr/share/doc/nunit/html/constraintModel.html is in libnunit-doc 2.6.4+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | <!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<!-- Standard Head Part -->
<head>
<title>NUnit - ConstraintModel</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-US">
<meta name="norton-safeweb-site-verification" content="tb6xj01p4hgo5x-8wscsmq633y11-e6nhk-bnb5d987bseanyp6p0uew-pec8j963qlzj32k5x9h3r2q7wh-vmy8bbhek5lnpp5w4p8hocouuq39e09jrkihdtaeknua" />
<link rel="stylesheet" type="text/css" href="nunit.css">
<link rel="shortcut icon" href="favicon.ico">
</head>
<!-- End Standard Head Part -->
<body>
<!-- Standard Header for NUnit.org -->
<div id="header">
<a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a>
<div id="nav">
<a href="http://www.nunit.org">NUnit</a>
<a class="active" href="index.html">Documentation</a>
</div>
</div>
<!-- End of Header -->
<div id="content">
<h2>Constraint-Based Assert Model (NUnit 2.4)</h2>
<p>The constraint-based Assert model uses a single method of the Assert class
for all assertions. The logic necessary to carry out each assertion is
embedded in the constraint object passed as the second parameter to that
method.
<p>Here's a very simple assert using the constraint model:
<pre class="prettyprint"> Assert.That( myString, Is.EqualTo("Hello") );</pre>
<p>The second argument in this assertion uses one of NUnit's <b>syntax helpers</b>
to create an <b>EqualConstraint</b>. The same assertion could also be made in this form:
<pre class="prettyprint"> Assert.That( myString, new EqualConstraint("Hello") );</pre>
<p>Using this model, all assertions are made using one of the forms of the
Assert.That() method, which has a number of overloads...
<div class="code" style="width: 36em">
<pre class="prettyprint">
Assert.That( object actual, IResolveConstraint constraint )
Assert.That( object actual, IResolveConstraint constraint,
string message )
Assert.That( object actual, IResolveConstraint constraint,
string message, object[] parms )
Assert.That( ActualValueDelegate del, IResolveConstraint constraint )
Assert.That( ActualValueDelegate del, IResolveConstraint constraint,
string message )
Assert.That( ActualValueDelegate del, IResolveConstraint constraint,
string message, object[] parms )
Assert.That<T>( ref T actual, IResolveConstraint constraint )
Assert.That<T>( ref T actual, IResolveConstraint constraint,
string message )
Assert.That<T>( ref T actual, IResolveConstraint constraint,
string message, object[] parms )
Assert.That( bool condition );
Assert.That( bool condition, string message );
Assert.That( bool condition, string message, object[] parms );
Assert.That( TestDelegate del, IResolveConstraint constraint );
</pre>
</div>
<p>If you derive your test fixture class from <b>AssertionHelper</b>, the
Expect() method may be used in place of Assert.That()...
<div class="code" style="width: 36em">
<pre class="prettyprint">
Expect( object actual, IResolveConstraint constraint )
Expect( object actual, IResolveConstraint constraint,
string message )
Expect( object actual, IResolveConstraint constraint,
string message, object[] parms )
Expect( ActualValueDelegate del, IResolveConstraint constraint )
Expect( ActualValueDelegate del, IResolveConstraint constraint,
string message )
Expect( ActualValueDelegate del, IResolveConstraint constraint,
string message, object[] parms )
Expect<T>( ref T actual, IResolveConstraint constraint )
Expect<T>( ref T actual, IResolveConstraint constraint,
string message )
Expect<T>( ref T actual, IResolveConstraint constraint,
string message, object[] parms )
Expect( bool condition );
Expect( bool condition, string message );
Expect( bool condition, string message, object[] parms );
Expect( TestDelegate del, IResolveConstraint constraint );
</pre>
</div>
<p>The overloads that take a bool work exactly like Assert.IsTrue.
<p>For overloads taking a constraint, the argument must be a object implementing
the <b>IConstraint</b> interface, which supports performing a test
on an actual value and generating appropriate messages. This interface
is described in more detail under
<a href="customConstraints.html">Custom Constraints</a>.
<p>NUnit provides a number of constraint classes similar to the <b>EqualConstraint</b>
used in the example above. Generally, these classes may be used directly or
through a syntax helper. Test fixture classes inheriting from <b>AssertionHelper</b>
are able to use shorter forms. The valid forms are described on the pages related to
each constraint. Note that the menu items listed to the right generally reflect the
names of the syntax helpers.
<p><b>See also:</b> the
<a href="classicModel.html">classic model</a> of assertions.
</div>
<!-- Submenu -->
<div id="subnav">
<ul>
<li><a href="index.html">NUnit 2.6.4</a></li>
<ul>
<li><a href="getStarted.html">Getting Started</a></li>
<li><a href="writingTests.html">Writing Tests</a></li>
<ul>
<li><a href="assertions.html">Assertions</a></li>
<ul>
<li><a href="classicModel.html">Classic Model</a></li>
<li id="current"><a href="constraintModel.html">Constraint Model</a></li>
<ul>
<li><a href="equalConstraint.html">Equal Constraint</a></li>
<li><a href="sameasConstraint.html">SameAs Constraint</a></li>
<li><a href="conditionConstraints.html">Condition Constraints</a></li>
<li><a href="comparisonConstraints.html">Comparison Constrants</a></li>
<li><a href="pathConstraints.html">Path Constraints</a></li>
<li><a href="typeConstraints.html">Type Constraints</a></li>
<li><a href="stringConstraints.html">String Constraints</a></li>
<li><a href="collectionConstraints.html">Collection Constraints</a></li>
<li><a href="propertyConstraint.html">Property Constraint</a></li>
<li><a href="throwsConstraint.html">Throws Constraint</a></li>
<li><a href="compoundConstraints.html">Compound Constraints</a></li>
<li><a href="delayedConstraint.html">Delayed Constraint</a></li>
<li><a href="listMapper.html">List Mapper</a></li>
<li><a href="reusableConstraint.html">Reusable Constraint</a></li>
</ul>
</ul>
<li><a href="attributes.html">Attributes</a></li>
<li><a href="testContext.html">Test Context</a></li>
</ul>
<li><a href="runningTests.html">Running Tests</a></li>
<li><a href="extensibility.html">Extensibility</a></li>
<li><a href="releaseNotes.html">Release Notes</a></li>
<li><a href="samples.html">Samples</a></li>
<li><a href="license.html">License</a></li>
</ul>
<li><a href="vsTestAdapter.html">NUnit Test Adapter</a></li>
<ul>
<li><a href="vsTestAdapterLicense.html">License</a></li>
<li><a href="vsTestAdapterReleaseNotes.html">Release Notes</a></li>
</ul>
<li><a href="&r=2.6.4.html"></a></li>
<li><a href="&r=2.6.4.html"></a></li>
</ul>
</div>
<!-- End of Submenu -->
<!-- Standard Footer for NUnit.org -->
<!-- public_html/nunit/footer.php -->
<div id="footer">
Copyright © 2002-2014 NUnit.org. All Rights Reserved.
</div>
<!-- End of Footer -->
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js?skin=desert"></script>
</body>
</html>
|