1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/library/matrix/zero_spec.rb
2020-05-03 12:28:29 +02:00

52 lines
1.1 KiB
Ruby

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 be_kind_of(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 be_an_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