[racket] slides unit testing
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
>
>