require 'spec_helper' require 'spec_helper' require 'orders/shared_examples.rb' #noinspection RubyResolve describe Orders::OrderList do subject { Orders::OrderList.new } let(:item_index) { @item.id } 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 @repeat_zero_price_item = Orders::OrderBookItem.new :id => 0, :price => 0 end it_behaves_like 'index_list' specify { subject.order_books.should be_empty } describe 'adding item' do context 'to empty OrderList' do it 'creates appropriate order book' do subject.add(@item) subject.order_books.should_not be_empty subject.order_books[@item.isin_id].should be_an Orders::OrderBook subject.order_books.should have(1).book end end context 'to non-empty OrderList' do before(:each) do subject.add(@item).size.should == 1 end 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) end end describe 'removing item' do # before(:each) do # subject.add(@item).size.should == 1 ## @item.order_book? # 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