]> git.openstreetmap.org Git - rails.git/blob - vendor/gems/composite_primary_keys-2.2.2/test/test_clone.rb
Merge branch 'master' into openstreetbugs
[rails.git] / vendor / gems / composite_primary_keys-2.2.2 / test / test_clone.rb
1 require 'abstract_unit'
2 require 'fixtures/reference_type'
3 require 'fixtures/reference_code'
4
5 class TestClone < Test::Unit::TestCase
6   fixtures :reference_types, :reference_codes
7   
8   CLASSES = {
9     :single => {
10       :class => ReferenceType,
11       :primary_keys => :reference_type_id,
12     },
13     :dual   => { 
14       :class => ReferenceCode,
15       :primary_keys => [:reference_type_id, :reference_code],
16     },
17   }
18   
19   def setup
20     self.class.classes = CLASSES
21   end
22   
23   def test_truth
24     testing_with do
25       clone = @first.clone
26       assert_equal @first.attributes.block(@klass.primary_key), clone.attributes
27       if composite?
28         @klass.primary_key.each {|key| assert_nil clone[key], "Primary key '#{key}' should be nil"} 
29       else
30         assert_nil clone[@klass.primary_key], "Sole primary key should be nil"
31       end
32     end
33   end
34 end