require File.join(File.dirname(__FILE__), 'helper') class AdapterTest < Test::Unit::TestCase context 'Serial key resource' do setup do class ::User include DataMapper::Resource property :id, Serial property :name, String property :age, Integer end @user = User.create(:name => 'Joe', :age => 22) end teardown do # Why doesn't DM::Resource#destroy exist? repository = DataMapper.repository(:default) repository.adapter.delete( DataMapper::Query.new(repository, ::User, {}) ) end should 'assign id to attributes' do item = User.create assert_kind_of User, item assert_not_nil item.id end should 'get an item' do assert_equal @user, User.get(@user.id) end should 'get items' do assert_equal 1, User.all.size end should 'destroy item' do assert @user.destroy assert_equal 0, User.all.size end should 'update item' do @user.name = 'Woot' assert @user.save assert_equal 'Woot', User.get(@user.id).name end end context 'Compound key resource' do setup do class ::User include DataMapper::Resource property :name, String, :key => true property :age, Integer, :key => true end @user = User.create(:name => 'Joe', :age => 22) end teardown do # Why doesn't DM::Resource#destroy exist? repository = DataMapper.repository(:default) repository.adapter.delete( DataMapper::Query.new(repository, ::User, {}) ) end should 'get an item' do assert_equal @user, User.get(*@user.key) end end end