<!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <!-- Standard Head Part --> <head> <title>NUnit - PathConstraints</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta http-equiv="Content-Language" content="en-US"> <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>Path Constraints (NUnit 2.5)</h2> <p>Path constraints perform tests on paths, without reference to any actual files or directories. This allows testing paths that are created by an application for reference or later use, without any effect on the environment. <p>Path constraints are intended to work across multiple file systems, and convert paths to a canonical form before comparing them. <p>It is usually not necessary to know the file system of the paths in order to compare them. Where necessary, the programmer may use the <b>IgnoreCase</b> and <b>RespectCase</b> modifiers to provide behavior other than the system default. <h3>SamePathConstraint</h3> <h4>Action</h4> <p>Tests that two paths are equivalent. <h4>Constructor</h4> <div class="code"><pre> SamePathConstraint( string expectedPath ) </pre></div> <h4>Syntax</h4> <div class="code"><pre> Is.SamePath( string expectedPath ) </pre></div> <h4>Modifiers</h4> <div class="code"><pre> ...IgnoreCase ...RespectCase </pre></div> <h4>Examples of Use</h4> <div class="code"><pre> Assert.That( "/folder1/./junk/../folder2", Is.SamePath( "/folder1/folder2" ) ); Assert.That( "/folder1/./junk/../folder2/x", Is.Not.SamePath( "/folder1/folder2" ) ); Assert.That( @"C:\folder1\folder2", Is.SamePath( @"C:\Folder1\Folder2" ).IgnoreCase ); Assert.That( "/folder1/folder2", Is.Not.SamePath( "/Folder1/Folder2" ).RespectCase ); </pre></div> <h3>SamePathOrUnderConstraint</h3> <h4>Action</h4> <p>Tests that one path is equivalent another path or that it is under it. <h4>Constructor</h4> <div class="code"><pre> SamePathOrUnderConstraint( string expectedPath ) </pre></div> <h4>Syntax</h4> <div class="code"><pre> Is.SamePathOrUnder( string expectedPath ) </pre></div> <h4>Modifiers</h4> <div class="code"><pre> ...IgnoreCase ...RespectCase </pre></div> <h4>Examples of Use</h4> <div class="code"><pre> Assert.That( "/folder1/./junk/../folder2", Is.SamePathOrUnder( "/folder1/folder2" ) ); Assert.That( "/folder1/junk/../folder2/./folder3", Is.SamePathOrUnder( "/folder1/folder2" ) ); Assert.That( "/folder1/junk/folder2/folder3", Is.Not.SamePathOrUnder( "/folder1/folder2" ) ); Assert.That( @"C:\folder1\folder2\folder3", Is.SamePathOrUnder( @"C:\Folder1\Folder2" ).IgnoreCase ); Assert.That( "/folder1/folder2/folder3", Is.Not.SamePathOrUnder( "/Folder1/Folder2" ).RespectCase ); </pre></div> </div> <!-- Submenu --> <div id="subnav"> <ul> <li><a href="index.html">NUnit 2.5.2</a></li> <ul> <li><a href="getStarted.html">Getting Started</a></li> <li><a href="assertions.html">Assertions</a></li> <li><a href="constraintModel.html">Constraints</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 id="current"><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> </ul> <li><a href="attributes.html">Attributes</a></li> <li><a href="nunit-console.html">Console Runner</a></li> <li><a href="nunit-gui.html">Gui Runner</a></li> <li><a href="configFiles.html">Configuration Files</a></li> <li><a href="pnunit.html">PNUnit</a></li> <li><a href="multiAssembly.html">Multiple Assemblies</a></li> <li><a href="vsSupport.html">Visual Studio Support</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> </ul> </div> <!-- End of Submenu --> <!-- Standard Footer for NUnit.org --> <div id="footer"> Copyright © 2009 Charlie Poole. All Rights Reserved. </div> <!-- End of Footer --> </body> </html>