describe :exception_new, :shared => true do
  it "creates a new instance of Exception" do
    Exception.should be_ancestor_of(Exception.send(@method).class)
  end

  it "sets the message of the Exception when passes a message" do
    Exception.send(@method, "I'm broken.").message.should == "I'm broken."
  end

  it "returns 'Exception' for message when no message given" do
    Exception.send(@method).message.should == "Exception"
  end

  it "returns the exception when it has a custom constructor" do
    ExceptionSpecs::ConstructorException.send(@method).should be_kind_of(ExceptionSpecs::ConstructorException)
  end

end
