spec/trema/features-reply_spec.rb in trema-0.2.2.1 vs spec/trema/features-reply_spec.rb in trema-0.2.3
- old
+ new
@@ -1,8 +1,6 @@
#
-# Author: Yasuhito Takamiya <yasuhito@gmail.com>
-#
# Copyright (C) 2008-2012 NEC Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2, as
# published by the Free Software Foundation.
@@ -20,33 +18,69 @@
require File.join( File.dirname( __FILE__ ), "..", "spec_helper" )
require "trema"
-describe FeaturesReply, ".new( VALID OPTIONS )" do
- subject { FeaturesReply.new( :datapath_id => 123,
- :transaction_id => 1234,
- :n_buffers => 256,
- :n_tables => 2,
- :capabilities => 135,
- :actions => 2047,
- :ports => ports
- )
- }
- its( :datapath_id ) { should == 123 }
- its( :transaction_id ) { should == 1234 }
- its( :n_buffers ) { should == 256 }
- its( :n_tables ) { should == 2 }
- its( :capabilities ) { should == 135 }
- its( :actions ) { should == 2047 }
- let( :ports ) { [ mock( "port #0" ), mock( "port #1" ), mock( "port #2" ) ] }
- its( :ports ) { subject.size.should == 3 }
-end
+module Trema
+ describe FeaturesReply, ".new" do
+ it { expect { subject }.to raise_error( ArgumentError ) }
+ end
-describe FeaturesReply, ".new( MANDATORY OPTIONS MISSING)" do
- it "should raise ArgumentError" do
- expect { subject }.to raise_error( ArgumentError )
+ describe FeaturesReply, ".new(options...)" do
+ subject {
+ valid_options = {
+ :datapath_id => 123,
+ :transaction_id => 1234,
+ :n_buffers => 256,
+ :n_tables => 2,
+ :capabilities => 135,
+ :actions => 2047,
+ :ports => [ "port #0", "port #1", "port #2" ]
+ }
+ FeaturesReply.new( valid_options )
+ }
+
+ its( :datapath_id ) { should == 123 }
+ its( :transaction_id ) { should == 1234 }
+ its( :xid ) { should == 1234 }
+ its( :n_buffers ) { should == 256 }
+ its( :n_tables ) { should == 2 }
+ its( :capabilities ) { should == 135 }
+ its( :actions ) { should == 2047 }
+ its( :ports ) { subject.size.should == 3 }
+ end
+
+
+ describe FeaturesReply, ".new(options...) (No :datapath_id)" do
+ subject {
+ FeaturesReply.new( {
+ # :datapath_id => 123,
+ :transaction_id => 1234,
+ :n_buffers => 256,
+ :n_tables => 2,
+ :capabilities => 135,
+ :actions => 2047,
+ :ports => [ "port #0", "port #1", "port #2" ]
+ } )
+ }
+ it { expect { subject }.to raise_error( ArgumentError, ":datapath_id is a mandatory option" ) }
+ end
+
+
+ describe FeaturesReply, ".new(options...) (No :transaction_id)" do
+ subject {
+ FeaturesReply.new( {
+ :datapath_id => 123,
+ # :transaction_id => 1234,
+ :n_buffers => 256,
+ :n_tables => 2,
+ :capabilities => 135,
+ :actions => 2047,
+ :ports => [ "port #0", "port #1", "port #2" ]
+ } )
+ }
+ it { expect { subject }.to raise_error( ArgumentError, ":transaction_id is a mandatory option" ) }
end
end
### Local variables: