[racket] slides unit testing

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Jun 13 09:51:31 EDT 2013

I don't have slides and I don't recall this post, but I recall posting somewhere, not too long ago (this is conceptual not verbatim):  

PURE FUNCTIONS 
 are tested via
 -- f(in) = out 

IMPURE FUNCTIONS NEE
 are tested via 
 -- set up state 
 -- set up frame condition testing 
 -- f(in) = out %% use the proper equality, kind of true above but now we need intensionality too 
 -- test intended effects 
 -- test frame conditions 
 -- tear down state 

People tend to omit frame conditions but they shouldn't. How do you know that your effectful functions don't affect other aspects of state? 

-- Matthias





On Jun 13, 2013, at 9:40 AM, Eric Tanter wrote:

> Thanks a lot Stephen. Effectively, that's not at all what I was remembering (which was rather "picture-centric"), but that is also very helpful.
> 
> I'll keep on mining the list archives until I find it or someone remembers.
> 
> Cheers,
> 
> -- Éric
> 
> 
> On Jun 12, 2013, at 8:45 PM, Stephen Bloch <johnelys at gmail.com> wrote:
> 
>> 
>> On Jun 12, 2013, at 2:15 PM, Eric Tanter wrote:
>> 
>>> I remember that someone, some time ago (how precise!), posted on this list a link to a couple of slides that nicely and concisely illustrate the advantages of pure functions vs. impure ones when doing testing. 
>> 
>> This is probably not what you're remembering, but you could take a look at http://home.adelphi.edu/sbloch/papers/func-imp-testing.pdf
>> which is one of my slides from a conference talk.
>> 
>> Stephen Bloch
>> sbloch at adelphi.edu
>> 
>> 
>> 
> 
> 
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users



Posted on the users mailing list.