[racket] slides unit testing

From: Eric Tanter (etanter at dcc.uchile.cl)
Date: Thu Jun 13 22:09:00 EDT 2013

Thanks! 

Frame conditions are (I think) only implicitly hinted at by Stephen's slide (I guess that's the point of the line `getOther()==-4 //hasn't changed').

-- Éric


On Jun 13, 2013, at 9:51 AM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:

> 
> 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.