require 'matrix'

describe :trace, shared: true do
  it "returns the sum of diagonal elements in a square Matrix" do
    Matrix[[7,6], [3,9]].trace.should == 16
  end

  it "returns the sum of diagonal elements in a rectangular Matrix" do
    ->{ Matrix[[1,2,3], [4,5,6]].trace}.should raise_error(Matrix::ErrDimensionMismatch)
  end

end
