
Hi Dave! On 9/17/06, David Abrahams <dave@boost-consulting.com> wrote:
"Dean Michael Berris" <mikhailberis@gmail.com> writes:
I've been thinking about it, but unless I find a (better) way to be able to offer different specifications based on different subjects: there's value(...), object(...), pointer(...) then "should" will remain. (Please see attached files)
Even the guy giving that talk objects strongly to "should" but was overruled by his colleagues for reasons he couldn't justify. If you're gonna go this way, "must" (**) would be appropriate.
I think "must" can be a reference to the "should" instance in the spec<> created by value(...), object(...), pointer(...) or something(...) so that the same things that can be done with "should" are interchangeable with "must". value(a).should.equal(10); value(a).must.equal(10); // works the same as above :D
(**) or, better, simply "is" if you really want to make it more like specification and less like testing. But of course, "is" makes it an assertion, which this BDD philosophy somehow considers anathema.
Yeah, and "is" could very well be yet another alias/reference to the "should" object contained in the spec<> object. ;-) -- Dean Michael C. Berris C++ Software Architect Orange and Bronze Software Labs, Ltd. Co. web: http://software.orangeandbronze.com/ email: dean@orangeandbronze.com mobile: +63 928 7291459 phone: +63 2 8943415 other: +1 408 4049532 blogs: http://mikhailberis.blogspot.com http://3w-agility.blogspot.com http://cplusplus-soup.blogspot.com