Sha256: aa40afa0943ec91b87cb3072e23434d60f218957aef5fc00927c38a4e1a37900

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

require File.join(File.dirname(__FILE__), 'helper')

class AdapterTest < Test::Unit::TestCase
  context DataMapper::Adapters::TokyoCabinetAdapter do
    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
        User.all.destroy
      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
        User.all.destroy
      end

      should 'get an item' do
        assert_equal @user, User.get(*@user.key)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
shanna-dm-tokyo-adapter-0.2.1 test/test_cabinet.rb
shanna-dm-tokyo-adapter-0.3.0 test/test_cabinet.rb
shanna-dm-tokyo-adapter-0.3.1 test/test_cabinet.rb
shanna-dm-tokyo-adapter-0.3.2 test/test_cabinet.rb