<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>asserts/test/net/sf/cotta/test/assertion/BaseAssertTest.java</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,9 +2,9 @@
 &lt;classpath&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;test&quot;/&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;src&quot;/&gt;
-	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/hamcrest/hamcrest-library-1.1.jar&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/hamcrest/hamcrest-core-1.1.jar&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/junit/junit-4.4.jar&quot; sourcepath=&quot;D:/Work/cotta/lib/junit/src/junit-4.4-src.jar&quot;/&gt;
+	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk5&quot;/&gt;
 	&lt;classpathentry kind=&quot;output&quot; path=&quot;bin&quot;/&gt;
 &lt;/classpath&gt;</diff>
      <filename>asserts/.classpath</filename>
    </modified>
    <modified>
      <diff>@@ -47,8 +47,8 @@ public class AssertionFactory {
    * @param block CodeBlock instance to assert
    * @return CodeBlockAssert instance
    */
-  public CodeBlockAssertion that(CodeBlock block) {
-    return new CodeBlockAssertion(block);
+  public CodeBlockAssert that(CodeBlock block) {
+    return new CodeBlockAssert(block);
   }
 
   /**
@@ -57,7 +57,7 @@ public class AssertionFactory {
    * @param block CodeBlock instance to assert
    * @return CodeBlockAssert instance
    */
-  public CodeBlockAssertion code(CodeBlock block) {
+  public CodeBlockAssert code(CodeBlock block) {
     return that(block);
   }
 </diff>
      <filename>asserts/src/net/sf/cotta/test/AssertionFactory.java</filename>
    </modified>
    <modified>
      <diff>@@ -17,7 +17,7 @@ import org.junit.matchers.JUnitMatchers;
  * @param &lt;T&gt; Type of the value under assertion
  * @param &lt;A&gt; Type of the current assertion class
  */
-abstract public class BaseAssert&lt;T, A&gt; extends Assert {
+public class BaseAssert&lt;T, A&gt; extends Assert {
   private String description = &quot;&quot;;
   private T value;
 
@@ -30,15 +30,32 @@ abstract public class BaseAssert&lt;T, A&gt; extends Assert {
     return (A) this;
   }
 
+  /**
+   * Sets the description for the current assertion
+   * @param description description to show up when assertion failed
+   * @return self
+   */
   public A describedAs(String description) {
     this.description = description;
     return self();
   }
 
+  /**
+   * Returns value under assertion
+   * @return value under assertion
+   */
   public T value() {
     return this.value;
   }
 
+  /**
+   * This method is overriden to prevent misuse.  There is no need to compare assert classes, at
+   * the same time, it is easy for developer to call this method thinking that it does assertions
+   * on equals
+   * @see #eq
+   * @param obj object to compare
+   * @return this method will always throw UnsupportedOperationException
+   */
   @SuppressWarnings({&quot;EqualsWhichDoesntCheckParameterClass&quot;})
   public boolean equals(Object obj) {
     throw new UnsupportedOperationException(&quot;equals method is not supported by assertion, you probably wanted to use eq method&quot;);</diff>
      <filename>asserts/src/net/sf/cotta/test/assertion/BaseAssert.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,29 @@
 package net.sf.cotta.test.assertion;
 
+import org.junit.Assert;
+
 public class CodeBlockAssert {
+  protected CodeBlock block;
+
+  public CodeBlockAssert(CodeBlock block) {
+    this.block = block;
+  }
+
+  public &lt;T extends Throwable&gt; ExceptionAssert throwsException(Class&lt;T&gt; expected) {
+    try {
+      block.execute();
+    } catch (Throwable e) {
+      if (expected.equals(e.getClass())) {
+        return new ExceptionAssert(e);
+      }
+      if (e instanceof RuntimeException) {
+        throw (RuntimeException) e;
+      } else {
+        throw new RuntimeException(&quot;Error occurred during code block:&quot; + e.getMessage(), e);
+      }
+    }
+    StringBuilder buffer = new StringBuilder(&quot;Exception should have been thrown: &quot; + expected);
+    Assert.fail(buffer.toString());
+    return null;
+  }
 }</diff>
      <filename>asserts/src/net/sf/cotta/test/assertion/CodeBlockAssert.java</filename>
    </modified>
    <modified>
      <diff>@@ -1,29 +1,13 @@
 package net.sf.cotta.test.assertion;
 
-import org.junit.Assert;
-
-public class CodeBlockAssertion {
-  private CodeBlock block;
+/**
+ * @deprecated use net.sf.cotta.test.assertion.CodeBlockAssert
+ * @see net.sf.cotta.test.assertion.CodeBlockAssert
+ */
+public class CodeBlockAssertion extends CodeBlockAssert{
 
   public CodeBlockAssertion(CodeBlock block) {
-    this.block = block;
+    super(block);
   }
 
-  public &lt;T extends Throwable&gt; ExceptionAssert throwsException(Class&lt;T&gt; expected) {
-    try {
-      block.execute();
-    } catch (Throwable e) {
-      if (expected.equals(e.getClass())) {
-        return new ExceptionAssert(e);
-      }
-      if (e instanceof RuntimeException) {
-        throw (RuntimeException) e;
-      } else {
-        throw new RuntimeException(&quot;Error occurred during code block:&quot; + e.getMessage(), e);
-      }
-    }
-    StringBuilder buffer = new StringBuilder(&quot;Exception should have been thrown: &quot; + expected);
-    Assert.fail(buffer.toString());
-    return null;
-  }
 }</diff>
      <filename>asserts/src/net/sf/cotta/test/assertion/CodeBlockAssertion.java</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,7 @@ public class IntegerAssertTest extends TestCase {
 
   public void testLessThanFailsWhenNotTrue() {
     final IntegerAssert assertion = new IntegerAssert(5);
-    code(new CodeBlock() {
+    ensure.code(new CodeBlock() {
       public void execute() throws Exception {
         assertion.lt(4);
       }
@@ -20,7 +20,7 @@ public class IntegerAssertTest extends TestCase {
 
   public void testGreaterThanFailsWhenNotTrue() {
     final IntegerAssert assertion = new IntegerAssert(6);
-    code(new CodeBlock() {
+    ensure.code(new CodeBlock() {
       public void execute() throws Exception {
         assertion.gt(6);
       }</diff>
      <filename>asserts/test/net/sf/cotta/test/assertion/IntegerAssertTest.java</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,7 @@ public class ObjectAssertTest extends TestCase {
   public void testDescribeAs() {
     Object instance = new Object();
     final ObjectAssert assertion = new ObjectAssert(instance).describedAs(&quot;description&quot;);
-    code(new CodeBlock() {
+    ensure.code(new CodeBlock() {
       public void execute() throws Exception {
         assertion.sameAs(new Object());
       }
@@ -14,7 +14,7 @@ public class ObjectAssertTest extends TestCase {
   public void testOverrideEqualsToThrowException() {
     final Object instance = new Object();
     final ObjectAssert assertion = new ObjectAssert(instance);
-    code(new CodeBlock() {
+    ensure.code(new CodeBlock() {
       public void execute() throws Exception {
         boolean result = assertion.equals(instance);
         assertEquals(&quot;shoud not get here&quot;, !result, result);</diff>
      <filename>asserts/test/net/sf/cotta/test/assertion/ObjectAssertTest.java</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,4 @@ import net.sf.cotta.test.AssertionFactory;
 abstract public class TestCase extends junit.framework.TestCase {
   public static final AssertionFactory ensure = new AssertionFactory();
 
-  public CodeBlockAssertion code(CodeBlock codeBlock) {
-    return new CodeBlockAssertion(codeBlock);
-  }
 }</diff>
      <filename>asserts/test/net/sf/cotta/test/assertion/TestCase.java</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,7 @@
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;behaviour/src&quot;/&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;behaviour/resources&quot;/&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;src&quot;/&gt;
-	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_16&quot;/&gt;
 	&lt;classpathentry combineaccessrules=&quot;false&quot; kind=&quot;src&quot; path=&quot;/cotta-testbase&quot;/&gt;
+	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk6&quot;/&gt;
 	&lt;classpathentry kind=&quot;output&quot; path=&quot;bin&quot;/&gt;
 &lt;/classpath&gt;</diff>
      <filename>core/.classpath</filename>
    </modified>
    <modified>
      <diff>@@ -29,7 +29,7 @@ abstract public class InputFileChannelTestCase extends TestCase {
         InputFileChannelTestCase.this.process(inputManager.channel());
       }
     });
-    FileChannel channel = file.io().inputChannel();
+    FileChannel channel = file.inputChannel();
     process(channel);
     channel.close();
   }</diff>
      <filename>core/behaviour/src/net/sf/cotta/acceptance/InputFileChannelTestCase.java</filename>
    </modified>
    <modified>
      <diff>@@ -125,33 +125,20 @@
   &lt;component name=&quot;IdProvider&quot; IDEtalkID=&quot;F41CAA6E81596D1A0C15ED02912B093E&quot; /&gt;
   &lt;component name=&quot;InspectionProjectProfileManager&quot;&gt;
     &lt;option name=&quot;PROJECT_PROFILE&quot; value=&quot;Project Default&quot; /&gt;
+    &lt;option name=&quot;USE_PROJECT_PROFILE&quot; value=&quot;true&quot; /&gt;
     &lt;version value=&quot;1.0&quot; /&gt;
     &lt;profiles&gt;
       &lt;profile version=&quot;1.0&quot; is_locked=&quot;false&quot;&gt;
         &lt;option name=&quot;myName&quot; value=&quot;Project Default&quot; /&gt;
         &lt;option name=&quot;myLocal&quot; value=&quot;false&quot; /&gt;
-        &lt;inspection_tool class=&quot;UNUSED_SYMBOL&quot; enabled=&quot;true&quot; level=&quot;WARNING&quot; enabled_by_default=&quot;true&quot;&gt;
-          &lt;option name=&quot;LOCAL_VARIABLE&quot; value=&quot;true&quot; /&gt;
-          &lt;option name=&quot;FIELD&quot; value=&quot;true&quot; /&gt;
-          &lt;option name=&quot;METHOD&quot; value=&quot;true&quot; /&gt;
-          &lt;option name=&quot;CLASS&quot; value=&quot;true&quot; /&gt;
-          &lt;option name=&quot;PARAMETER&quot; value=&quot;true&quot; /&gt;
-          &lt;option name=&quot;REPORT_PARAMETER_FOR_PUBLIC_METHODS&quot; value=&quot;true&quot; /&gt;
-          &lt;option name=&quot;INJECTION_ANNOS&quot;&gt;
-            &lt;value&gt;
-              &lt;list size=&quot;1&quot;&gt;
-                &lt;item index=&quot;0&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;java.lang.Deprecated&quot; /&gt;
-              &lt;/list&gt;
-            &lt;/value&gt;
-          &lt;/option&gt;
-        &lt;/inspection_tool&gt;
       &lt;/profile&gt;
     &lt;/profiles&gt;
-    &lt;list size=&quot;4&quot;&gt;
-      &lt;item index=&quot;0&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;SERVER PROBLEM&quot; /&gt;
-      &lt;item index=&quot;1&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;INFO&quot; /&gt;
-      &lt;item index=&quot;2&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;WARNING&quot; /&gt;
-      &lt;item index=&quot;3&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;ERROR&quot; /&gt;
+    &lt;list size=&quot;5&quot;&gt;
+      &lt;item index=&quot;0&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;TYPO&quot; /&gt;
+      &lt;item index=&quot;1&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;SERVER PROBLEM&quot; /&gt;
+      &lt;item index=&quot;2&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;INFO&quot; /&gt;
+      &lt;item index=&quot;3&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;WARNING&quot; /&gt;
+      &lt;item index=&quot;4&quot; class=&quot;java.lang.String&quot; itemvalue=&quot;ERROR&quot; /&gt;
     &lt;/list&gt;
   &lt;/component&gt;
   &lt;component name=&quot;JavacSettings&quot;&gt;
@@ -316,6 +303,9 @@
   &lt;component name=&quot;ProjectDetails&quot;&gt;
     &lt;option name=&quot;projectName&quot; value=&quot;cotta&quot; /&gt;
   &lt;/component&gt;
+  &lt;component name=&quot;ProjectDictionaryState&quot;&gt;
+    &lt;dictionary name=&quot;Lianxin and Shane&quot; /&gt;
+  &lt;/component&gt;
   &lt;component name=&quot;ProjectFileVersion&quot; converted=&quot;true&quot; /&gt;
   &lt;component name=&quot;ProjectKey&quot;&gt;
     &lt;option name=&quot;state&quot; value=&quot;project://D:\Work\cotta\cotta.ipr&quot; /&gt;
@@ -418,8 +408,5 @@
       &lt;/SOURCES&gt;
     &lt;/library&gt;
   &lt;/component&gt;
-  &lt;UsedPathMacros&gt;
-    &lt;macro name=&quot;IDEA_HOME&quot; /&gt;
-  &lt;/UsedPathMacros&gt;
 &lt;/project&gt;
 </diff>
      <filename>cotta.ipr</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,6 @@
 &lt;classpath&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;behaviour/src&quot;/&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;src&quot;/&gt;
-	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_16&quot;/&gt;
 	&lt;classpathentry combineaccessrules=&quot;false&quot; kind=&quot;src&quot; path=&quot;/cotta-core&quot;/&gt;
 	&lt;classpathentry combineaccessrules=&quot;false&quot; kind=&quot;src&quot; path=&quot;/cotta-testbase&quot;/&gt;
 	&lt;classpathentry kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/commons-io/commons-io-1.4.jar&quot;/&gt;
@@ -12,5 +11,6 @@
 	&lt;classpathentry kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/coloradoftp/coloradoftp-1.24.jar&quot; sourcepath=&quot;D:/Work/cotta/lib/coloradoftp/src/coloradoftp-1.24-src.zip&quot;/&gt;
 	&lt;classpathentry kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/coloradoftp/commons-logging.jar&quot;/&gt;
 	&lt;classpathentry kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/coloradoftp/log4j-1.2.9.jar&quot; sourcepath=&quot;D:/Work/cotta/lib/coloradoftp/src/log4j-1.2.9-src.zip&quot;/&gt;
+	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk5&quot;/&gt;
 	&lt;classpathentry kind=&quot;output&quot; path=&quot;bin&quot;/&gt;
 &lt;/classpath&gt;</diff>
      <filename>ftp/.classpath</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,6 @@
 &lt;classpath&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;src&quot;/&gt;
 	&lt;classpathentry kind=&quot;src&quot; path=&quot;test&quot;/&gt;
-	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_16&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/jmock/objenesis-1.0.jar&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/jmock/cglib-nodep-2.1_3.jar&quot; sourcepath=&quot;D:/Work/cotta/lib/jmock/cglib-2.1_3-src.jar&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/jmock/jmock-2.4.0.jar&quot;/&gt;
@@ -10,5 +9,6 @@
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/jmock/jmock-junit4-2.4.0.jar&quot;/&gt;
 	&lt;classpathentry exported=&quot;true&quot; kind=&quot;lib&quot; path=&quot;D:/Work/cotta/lib/jmock/jmock-legacy-2.4.0.jar&quot;/&gt;
 	&lt;classpathentry combineaccessrules=&quot;false&quot; exported=&quot;true&quot; kind=&quot;src&quot; path=&quot;/cotta-asserts&quot;/&gt;
+	&lt;classpathentry kind=&quot;con&quot; path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk5&quot;/&gt;
 	&lt;classpathentry kind=&quot;output&quot; path=&quot;bin&quot;/&gt;
 &lt;/classpath&gt;</diff>
      <filename>testbase/.classpath</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>88f06946e9526bd226ef1b0b90c7db299a907647</id>
    </parent>
  </parents>
  <author>
    <name>wolfdancer</name>
    <email>Lianxin and Shane@.(none)</email>
  </author>
  <url>http://github.com/wolfdancer/cotta/commit/bcf9f10fed76571d29ce4af1226e22250e771e1f</url>
  <id>bcf9f10fed76571d29ce4af1226e22250e771e1f</id>
  <committed-date>2009-08-22T14:43:54-07:00</committed-date>
  <authored-date>2009-08-22T14:43:54-07:00</authored-date>
  <message>use CodeBlockAssert instead of CodeBlockAssertion to match name convention, made BaseAssert a concrete class</message>
  <tree>3fd57d09760a93631f953d4b06dd8a696b0201a0</tree>
  <committer>
    <name>wolfdancer</name>
    <email>Lianxin and Shane@.(none)</email>
  </committer>
</commit>
