title: Can't load "data.yml" in tests, java.lang.RuntimeException
body: <p>I have been playing around with java play framework and following tutorial. While was trying to implement this section "Using Fixtures to write more complicated tests" I faced such an error in tests:</p>
  
  <pre><code>A java.lang.RuntimeException has been caught, Cannot load fixture data.yml: play.exceptions.UnexpectedException: Unexpected Error
  
  In /test/BasicTest.java, line 137 :
  Fixtures.loadModels("data.yml");
  </code></pre>
  
  <p>Stacktrace:</p>
  
  <pre><code>java.lang.RuntimeException: Cannot load fixture data.yml: play.exceptions.UnexpectedException: Unexpected Error
      at play.test.Fixtures.loadModels(Fixtures.java:221)
      at BasicTest.fullTest(BasicTest.java:137)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
      at play.test.PlayJUnitRunner$StartPlay$2$1.evaluate(PlayJUnitRunner.java:98)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at play.test.PlayJUnitRunner.run(PlayJUnitRunner.java:48)
      at org.junit.runners.Suite.runChild(Suite.java:128)
      at org.junit.runners.Suite.runChild(Suite.java:24)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
      at play.test.TestEngine.run(TestEngine.java:101)
      at controllers.TestRunner.run(TestRunner.java:67)
      at sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:540)
      at play.mvc.ActionInvoker.invoke(ActionInvoker.java:498)
      at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:474)
      at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:469)
      at play.mvc.ActionInvoker.invoke(ActionInvoker.java:157)
      at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:237)
      at play.Invoker$Invocation.run(Invoker.java:265)
      at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:217)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:680)
  Caused by: java.lang.RuntimeException: play.exceptions.UnexpectedException: Unexpected Error
      at play.db.jpa.GenericModel.create(GenericModel.java:50)
      at play.db.jpa.JPAPlugin.bind(JPAPlugin.java:81)
      at play.plugins.PluginCollection.bind(PluginCollection.java:469)
      at play.data.binding.Binder.bind(Binder.java:309)
      at play.data.binding.Binder.bind(Binder.java:302)
      at play.test.Fixtures.loadModels(Fixtures.java:196)
      ... 52 more
  Caused by: play.exceptions.UnexpectedException: Unexpected Error
      at play.db.jpa.GenericModel.edit(GenericModel.java:156)
      at play.db.jpa.GenericModel.create(GenericModel.java:48)
      ... 57 more
  Caused by: play.exceptions.UnexpectedException: Unexpected Error
      at play.data.binding.BeanWrapper$Property.setValue(BeanWrapper.java:230)
      at play.data.binding.BeanWrapper.bind(BeanWrapper.java:70)
      at play.db.jpa.GenericModel.edit(GenericModel.java:153)
      ... 58 more
  Caused by: java.lang.IllegalArgumentException: Can not set java.sql.Date field models.Post.postedAt to java.util.Date
      at play.data.binding.BeanWrapper$Property.setValue(BeanWrapper.java:225)
      at play.data.binding.BeanWrapper.bind(BeanWrapper.java:70)
      at play.db.jpa.GenericModel.edit(GenericModel.java:153)
      at play.db.jpa.GenericModel.create(GenericModel.java:48)
      at play.db.jpa.JPAPlugin.bind(JPAPlugin.java:81)
      at play.plugins.PluginCollection.bind(PluginCollection.java:469)
      at play.data.binding.Binder.bind(Binder.java:309)
      at play.data.binding.Binder.bind(Binder.java:302)
      at play.test.Fixtures.loadModels(Fixtures.java:196)
      at BasicTest.fullTest(BasicTest.java:137)
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
      at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
      at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
      at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
      at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
      at play.test.PlayJUnitRunner$StartPlay$2$1.evaluate(PlayJUnitRunner.java:98)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
      at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at play.test.PlayJUnitRunner.run(PlayJUnitRunner.java:48)
      at org.junit.runners.Suite.runChild(Suite.java:128)
      at org.junit.runners.Suite.runChild(Suite.java:24)
      at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
      at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
      at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
      at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
      at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
      at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
      at org.junit.runner.JUnitCore.run(JUnitCore.java:117)
      at play.test.TestEngine.run(TestEngine.java:101)
      at controllers.TestRunner.run(TestRunner.java:67)
      at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:540)
      at play.mvc.ActionInvoker.invoke(ActionInvoker.java:498)
      at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:474)
      at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:469)
      at play.mvc.ActionInvoker.invoke(ActionInvoker.java:157)
      at Invocation.HTTP Request(Play!)
  </code></pre>
  
  <p>Lines, where error occurs:</p>
  
  <pre><code>@Test
  public void fullTest() {
      Fixtures.loadModels("data.yml");
  
      // count everyrhing
      assertEquals(2, User.count());
  </code></pre>
  
  <p>Also I have </p>
  
  <pre><code>@Before
  public void setup() {
      Fixtures.deleteDatabase();
  }
  </code></pre>
  
  <p>But it doesn't help.</p>
  
  <p>data.yml file contains this information, it should be valid cause it was downloaded from official site.</p>
  
  <pre><code># Test data
  
  User(bob):
      email:          bob@gmail.com
      password:       secret
      fullname:       Bob
      isAdmin:        true
  
  User(jeff):
      email:          jeff@gmail.com
      password:       secret
      fullname:       Jeff    
  
  Post(firstBobPost):
      title:          About the model layer
      postedAt:       2009-06-14
      author:         bob
      content:        &gt;
                      The model has a central position in a Play! application. It is the domain-specific 
                      representation of the information on which the application operates.
  
                      Martin fowler defines it as:
  
                      Responsible for representing concepts of the business, information about the 
                      business situation, and business rules. State that reflects the business situation 
                      is controlled and used here, even though the technical details of storing it are 
                      delegated to the infrastructure. This layer is the heart of business software.
  
  Post(secondBobPost):
      title:          Just a test of YABE
      postedAt:       2009-03-25
      author:         bob
      content:        &gt;
                      Well, it's just a test.
  
  Post(jeffPost):
      title:          The MVC application
      postedAt:       2009-06-06
      author:         jeff
      content:        &gt;
                      A Play! application follows the MVC architectural pattern as applied to the 
                      architecture of the Web.
  
                      This pattern splits the application into separate layers: the Presentation 
                      layer and the Model layer. The Presentation layer is further split into a 
                      View and a Controller layer.
  
  Comment(c1):
      author:         Guest
      content:        &gt;
                      You are right !
      postedAt:       2009-06-14
      post:           firstBobPost
  
  Comment(c2):
      author:         Mike
      content:        &gt;
                      I knew that ...
      postedAt:       2009-06-15
      post:           firstBobPost    
  
  Comment(c3):
      author:         Tom
      content:        &gt;
                      This post is useless ?
      postedAt:       2009-04-05
      post:           secondBobPost    
  </code></pre>
  
  <p>What mistake have I done?</p>