
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<title>OpenCMIS Test Compatibility Kit 0.9.0 Reference Package org.apache.chemistry.opencmis.tck.tests.basics</title>
		<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="style" />
	</head>
	<body>
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
		
		      	<h2>Package org.apache.chemistry.opencmis.tck.tests.basics</h2>

		<table class="summary">
        	<thead>
          		<tr>
            		<th>Class Summary</th>
          		</tr>
        	</thead>
        	<tbody>
        		            	<tr>
              		<td>
                		<a href="BasicsTestGroup.html" target="classFrame">BasicsTestGroup</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="RepositoryInfoTest.html" target="classFrame">RepositoryInfoTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="RootFolderTest.html" target="classFrame">RootFolderTest</a>
              		</td>
            	</tr>
				            	<tr>
              		<td>
                		<a href="SecurityTest.html" target="classFrame">SecurityTest</a>
              		</td>
            	</tr>
				        	</tbody>
      	</table>
		
		      	<div class="overview">
        	<ul>
          		<li>
            		<a href="../../../../../../../overview-summary.html">Overview</a>
          		</li>
          		<li class="selected">Package</li>
        	</ul>
      	</div>
      	<div class="framenoframe">
        	<ul>
          		<li>
            		<a href="../../../../../../../index.html" target="_top">FRAMES</a>
          		</li>
          		<li>
            		<a href="package-summary.html" target="_top">NO FRAMES</a>
          		</li>
        	</ul>
      	</div>
				<hr />
		Copyright &#169; 2009-2013 The Apache Software Foundation. All Rights Reserved.
	</body>
</html>