On Sat, Jan 2, 2010 at 4:35 PM, David Chelimsky <dchelim...@gmail.com> wrote: > > > On Sat, Jan 2, 2010 at 3:23 PM, Andrew Premdas <aprem...@gmail.com> wrote: >> >> 2009/12/30 rogerdpack <rogerpack2...@gmail.com> >>> >>> > What about something like: >>> > >>> > expected #<Class:2158174640> => Fixnum to be a kind of Fixnum >>> > >>> > That is more aligned with other failure messages. WDYT? >>> >>> I quite like it. >>> In this instance it was >>> >>> 3.class.should be_a Fixnum # fails >>> >>> I suppose it would be something like >>> expected #<Class:Fixnum> => Class to be a kind of Fixnum >>> >>> ? >>> >>> > And just out of curiosity, Roger, what's your use case? I can't >>> > remember ever using be_a/be_an, at least not in any code that has >>> > survived. >>> >>> The very first test I thought up was "this method should return an >>> integer" so kind of a basic test for a not yet existent method. >>> >> >> Isn't this a bit anti-ruby though. Surely the things we should be testing >> is that the object exists, responds to certain messages and gives certain >> values back for those messages. Thinking about types is so Java, C++ :-) > > Generally speaking, you're correct, but there are cases where this is > valuable - like if you're spec'ing a factory in a lib for others to use, > etc.
However, I need to point out that although 1.should be_a Fixnum that 1.class.should_not be_a Fixnum because 1.class == Fixnum which is after all a Class, and not a Fixnum itself. -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users