diff options
Diffstat (limited to 'spec/ruby/library/matrix/zero_spec.rb')
| -rw-r--r-- | spec/ruby/library/matrix/zero_spec.rb | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/ruby/library/matrix/zero_spec.rb b/spec/ruby/library/matrix/zero_spec.rb new file mode 100644 index 0000000000..406bcad6ed --- /dev/null +++ b/spec/ruby/library/matrix/zero_spec.rb @@ -0,0 +1,52 @@ +require_relative '../../spec_helper' +require_relative 'fixtures/classes' +require 'matrix' + +describe "Matrix.zero" do + it "returns an object of type Matrix" do + Matrix.zero(3).should.is_a?(Matrix) + end + + it "creates a n x n matrix" do + m3 = Matrix.zero(3) + m3.row_size.should == 3 + m3.column_size.should == 3 + + m8 = Matrix.zero(8) + m8.row_size.should == 8 + m8.column_size.should == 8 + end + + it "initializes all cells to 0" do + size = 10 + m = Matrix.zero(size) + + (0...size).each do |i| + (0...size).each do |j| + m[i, j].should == 0 + end + end + end + + describe "for a subclass of Matrix" do + it "returns an instance of that subclass" do + MatrixSub.zero(3).should.instance_of?(MatrixSub) + end + end +end + +describe "Matrix.zero?" do + it "returns true for empty matrices" do + Matrix.empty.should.zero? + Matrix.empty(3,0).should.zero? + Matrix.empty(0,3).should.zero? + end + + it "returns true for matrices with zero entries" do + Matrix.zero(2,3).should.zero? + end + + it "returns false for matrices with non zero entries" do + Matrix[[1]].should_not.zero? + end +end |
