summaryrefslogtreecommitdiff
path: root/spec/ruby/library/matrix/zero_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/matrix/zero_spec.rb')
-rw-r--r--spec/ruby/library/matrix/zero_spec.rb52
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