Sha256: 6a4b8d8178e6eeb2ba30775c016c8f1fa53f1fe0db998c441c4d2d81947811f8
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
require 'spec_helper' require 'orders/shared_examples.rb' describe Orders::OrderBook do subject { Orders::OrderBook.new 123456 } let(:item_index) { @item.price } before(:each) do @item = Orders::OrderBookItem.new :id => 0, :price => 20 @item1 = Orders::OrderBookItem.new :id => 1, :price => 10 @zero_price_item = Orders::OrderBookItem.new :id => 2, :price => 0 end it_behaves_like 'index_list' its (:isin_id) {should == 123456} its (:changed) {should == true} describe 'adding item' do before(:each) do subject.add(@item).size.should == 1 subject.changed = false end context 'with zero price' do it 'returns self' do subject.add(@zero_price_item).should == subject end it 'does not add such item to the list' do subject.add(@zero_price_item) subject[subject.index @zero_price_item].should == nil subject.size.should == 1 end it 'does not set changed status to true' do subject.add(@zero_price_item) subject.changed.should == false end end it 'sets changed status to true if item was added' do subject.add(@item1) subject.changed.should == true end end describe 'removing item' do before(:each) do subject.add(@item).size.should == 1 subject.changed = false end it 'sets changed status to true if item was removed' do subject.remove(@item) subject.changed.should == true end context 'that is not in list' do it 'returns self' do subject.remove(@item1).should == subject end it 'does not set changed status to true' do subject.remove(@item1) subject.changed.should == false end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
orders-0.0.2 | spec/orders/order_book_spec.rb |