<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/database.yml</filename>
    </added>
    <added>
      <filename>test/debug.log</filename>
    </added>
    <added>
      <filename>test/deep_cloning.sqlite.db</filename>
    </added>
    <added>
      <filename>test/fixtures/gold_piece.rb</filename>
    </added>
    <added>
      <filename>test/fixtures/gold_pieces.yml</filename>
    </added>
    <added>
      <filename>test/fixtures/matey.rb</filename>
    </added>
    <added>
      <filename>test/fixtures/mateys.yml</filename>
    </added>
    <added>
      <filename>test/fixtures/pirate.rb</filename>
    </added>
    <added>
      <filename>test/fixtures/pirates.yml</filename>
    </added>
    <added>
      <filename>test/fixtures/treasure.rb</filename>
    </added>
    <added>
      <filename>test/fixtures/treasures.yml</filename>
    </added>
    <added>
      <filename>test/schema.rb</filename>
    </added>
    <added>
      <filename>test/test_helper.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1 +1,3 @@
+require 'deep_cloning'
+
 ActiveRecord::Base.send(:include, DeepCloning)
\ No newline at end of file</diff>
      <filename>init.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,45 @@
-require 'test/unit'
+require File.dirname(__FILE__) + '/test_helper'
 
 class DeepCloningTest &lt; Test::Unit::TestCase
-  # Replace this with your real tests.
-  def test_this_plugin
-    flunk
+  fixtures :pirates, :gold_pieces, :treasures, :mateys
+
+  def setup
+    @jack = Pirate.find(pirates(:jack).id)
+  end
+
+  def test_single_clone_exception
+    clone = @jack.clone(:except =&gt; :name)
+    assert clone.save
+    assert_equal @jack.name, @jack.clone.name
+    assert_nil clone.name
+    assert_equal @jack.nick_name, clone.nick_name
+  end
+  
+  def test_multiple_clone_exception
+    clone = @jack.clone(:except =&gt; [:name, :nick_name])
+    assert clone.save
+    assert_nil clone.name
+    assert_equal 'no nickname', clone.nick_name
+    assert_equal @jack.age, clone.age
+  end
+  
+  def test_singe_include_association
+    clone = @jack.clone(:include =&gt; :mateys)
+    assert clone.save
+    assert_equal @jack.mateys.size, clone.mateys.size
+  end
+  
+  def test_multiple_include_association
+    clone = @jack.clone(:include =&gt; [:mateys, :treasures])
+    assert clone.save
+    assert_equal @jack.mateys.size, clone.mateys.size
+    assert_equal @jack.treasures.size, clone.treasures.size
+  end
+  
+  def test_deep_include_association
+    clone = @jack.clone(:include =&gt; {:treasures =&gt; :gold_pieces})
+    assert clone.save
+    assert_equal @jack.treasures.size, clone.treasures.size
+    assert_equal @jack.gold_pieces.size, clone.gold_pieces.size
   end
-end
+end
\ No newline at end of file</diff>
      <filename>test/deep_cloning_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7b18d25c4c907c062be2e7326628b826120cecf1</id>
    </parent>
  </parents>
  <author>
    <name>Jan De Poorter</name>
    <email>jan@defv.be</email>
  </author>
  <url>http://github.com/DefV/deep_cloning/commit/d3ee15e97ffa36a605800fbcb91b1c2777247b3d</url>
  <id>d3ee15e97ffa36a605800fbcb91b1c2777247b3d</id>
  <committed-date>2008-03-27T11:53:30-07:00</committed-date>
  <authored-date>2008-03-27T11:53:30-07:00</authored-date>
  <message>Added testing suite and plugin tests</message>
  <tree>08602422ac19d2580fcc49471c362be58dd2f481</tree>
  <committer>
    <name>Jan De Poorter</name>
    <email>jan@defv.be</email>
  </committer>
</commit>
