<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
</head>
<body>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">On Mon, 23 Feb 2015 14:43:26 -0500</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">"Phil (list)" <pbpublist at gmail.com> wrote:</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> I started playing around with a couple of example test cases to see what</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> I ran into and came up with a distinct class to store all of these per</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> test category (i.e. under Test-Files a class ApiFile which could have a</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> method testWriteTextFile)  The rationale was that it might make sense to</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> keep these test cases separate from traditional test cases which are</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> free to make calls that users of the class (i.e. who are calling the</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>> supported API) should not.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>You bring up a good point.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>I suspect there are three basic cases:</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>  [1] A number of small test cases for a wide, shallow API.  E.g. Collection classes.  
Many "small" usage tests.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>  [2] A few deep calls which demonstrate a usage protocol.  E.g. open/read/close 
files, sockets; use library wrapper.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>  [3] Sample/example UI code which illustrate how to build apps/applets/tools  
[Color Picker, File List, ..]</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>A test class, as you point out, is probably appropriate for case [1], where there 
would be a zillion >test<collection><access>API kinds of things would swamp a 
name search.  A class naming convention would be good here.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>Individual test methods, with a searchable name convention, would be best for [2] 
where there would be few illustrative usage tests.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">>We could call out example code in a README doc for [3] where examples might 
have auxiliary architectural documentation.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">It just so happens that I've been looking at porting the terse guide from Squeak and 
that effort may have some bearing on the above. The Squeak terse guide brings with 
it the help manager and therefore a lot of stuff requiring rewrites. However, a much 
lighter weight and more readable version can be had by using the existing facilities of 
Cuis. What you see when you open a topic is code which has the same appearance as 
in a browser. I'm still wrangling a UI for it, but as it stands you can do:</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">    TerseGuideHelp display: #<topic></span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">to see a Workspace with the text presented by SmalltalkEditor. <topic> is from 
#pages in the Squeak guide.</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"><br />
</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt">- Dan Norton</span></font></p>
<p style="margin-left:0mm; margin-right:0mm; text-indent:0mm; margin-top:1.76mm; margin-bottom:1.76mm;"><font face="Times New Roman">
<span style=" font-size:12pt"> </span></font></p>
<div align="left">  </div>
</body>
</html>