transactionのテスト

Instant rails をアップデータした後

rails test

create database test_development;
mysql test_development < db/create;

create table accounts (
	id       int         not null auto_increment,
	number	 varchar(10) not null,
	balance  decimal(10,2) default 0.0,
	primary key (id)
) type=InnoDB;	

class Account < ActiveRecord::Base
	def withdraw(amount)
		adjust_balance_and_save(-amount)
	end
	def deposit(amount)
		adjust__balance_and_save(amount)
	end
	private
	def adjust_balance_and_save(amount)
		self.balance += amount
		save!
	end
	def validate
		errors.add(:balance,"is negative") if balance < 0
	end