HDTenEightyP/NetNews huggingface dataset:
Organization: Management Systems Laboratories
X-Acknowledge-To: <ACE@VTMSL>
Newsgroups: comp.lang.smalltalk
Date:         Fri, 14 Aug 1992 10:18:34 EST
From:         Ashley <ACE@VTMSL.BITNET>
Subject:      OO Testing

We (my work-group) are developing an application in ST V/Windows and
are now sufficiently along to do major testing.  I've written many
test plans for C and C++ systems, and now need to complete one
for our ST system.  (We do some amount of *both* white- and black-box
testing.)

(In our group, as each section/object/class is developed, there is
testing by the  developer and on other person -- an 'independent'
tester.  And there is also some general testing of the system as a
whole as each section is developed.  But we do major (some would
falsely say "complete") testing at major milestones.  This major
testing is what I'm talking about.)

 My question is:  Are there any considerations/issues/
thoughts that are specific to object-oriented testing? (as opposed
to testing a procedural-language based system)

It's always easy enough to do the black box testing -- writing user
scripts that push every button and pull-down every menu and fill
in every value, but what about white-box (or even "clear-box")
testing?  Do you have to ensure that every object and every method
is tested?  (This is mostly a philosophical question, I know.)  If
so, are there methods for developing a test plan to do this?

I'm interested in any thoughts/comments/suggestions/references.

            Ashley Engelund
            MSL/Virginia Tech

    :::::::::::::::::::::::::::::::::::

    Computer Literacy:
            Given 8 x 10 pictures of each,
            the ability to distinguish,
            within 12 minutes,
            a computer from a horse.
From: marten@feki.toppoint.de (Marten Feldtmann)
Newsgroups: comp.lang.smalltalk
Subject: Re: Digitalk ST/V-PM: more problems?!
Distribution: world
Date: Sun, 16 Aug 92 16:31:33 GMT
Organization: Private Site

And it's going on ..... :-)

  Here's an example, which of course has an error, but shows, how the
OS/2 system can be stopped (at least the surface) with normal ST code.
It's not a critic on ST-V/PM, but perhaps on the implementation .....

ViewManager subclass: #TestView
  instanceVariableNames: ''
  classVariableNames: ''
  poolDictionaries: ''    !


!TestView class methods !

open

  ^super new init! !



!TestView methods !
  
drawPane: aGraphPane
  "comment"


    0 to: 0 by: 0 do: [ :anIndex | ]!
  
init
        "comment"
 	
	self 
		labelWithoutPrefix: 'I am a crash window';
		addSubpane:
			(GraphPane new
				when: #display perform: #drawPane:;
				owner: self;
				framingRatio: (Rectangle leftTop: (0@1) rightBottom: (1)@0));

		openWindow! !


 The problem here is, that the "#display"-event calls a method
(drawPane), which has an error: it does not terminate. Well, everbody
now tells me: how can you write a method with an error! I did it (the
method itself was a bit more complex than the example) and the error was
the "by:" construct with a parameter dynamically calculated (and in one
case: to zero -- what a pity!).

 After resizing the window the whole surface stops and I was not able to
switch to any other application! CTRL-BREAK does not work, CTRL-ESC
still works, but of course: it shuts down the whole ST/V.

 The same happened with ST/V Windows 1.1 under WIN-OS/2.

After all:

 I would like to have the possibility to press CTRL-BREAK in this
situation!

And another little question:

 Why is it impossible to insert a "self halt" into the #display-method
and (within the debugger) do a "restart" or a "resume" of this method?

And a last thing (to all digitalk fans):
 Despite all the problems I mentioned here about ST/V: I like it,

 -- because a do not have to pay any royalities to Digitalk.
 -- I can pay the price for the product
 -- I can deliver applications as *.exe files
 -- I have native look and feel
 -- good interface to "C" and the whole system

 Comments!?

 MF

--
Marten Feldtmann                         E-Mail: marten@tpki.toppoint.de
2300 Kiel 14,    Kieler Str. 29,   Tel.: 0431-731916,   FAX: 0431-737677

Newsgroups: comp.lang.smalltalk
From: nagle@netcom.com (John Nagle)
Subject: Re: Selling A Smalltalk Program
Date: Thu, 20 Aug 92 00:12:20 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 

      Smalltalk V/Mac also has a royalty-free run-time system, although
it is implemented by shipping a basic Smalltalk kernel and a 50K standalone
application for it which one "modifies" into one's own application.

      Unfortunately, Smalltalk V/Mac is probably too slow to ship
as a base for a commercial product.

					John Nagle
From: johnson@m.cs.uiuc.edu (Ralph Johnson)
Newsgroups: comp.lang.smalltalk
Subject: Re: Classic Smalltalk bugs
Date: 14 Aug 92 18:12:42 GMT
Article-I.D.: m.1992Aug14.181242.19096
Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL

rick@rick.infoserv.com (Rick Klement) writes:

>3) You absolutely must pay the cost for understanding the superclass
>chain. Ignorance is not bliss, mostly it's a recipe for disaster.

Strictly speaking, this is not true.  You must pay the cost for understanding
the specification of the superclass.  If the specification has been written
well then you will NOT have to understand the superclass chain.  Unfortunately,
most Smalltalk classes are not specified, and you have to understand their
specification by looking at their implementation and reverse engineering
them.  Their implementation is made up of the superclass chain.  Thus, in
practice you have to understand the superclass chain, but that wouldn't be
necessary if the classes were documented properly.

Part of the specification of a class is how to write subclasses for it.
("Don't." is a legal specification!)  In the case that started this debate,
the class specification would say something like "A new instance of Foo 
is initialized with the 'init' message.  In general, you should not send
this message to existing instances, but you should define an 'init' method
for each subclass of Foo to initialize any instance variables that you
declare in that subclass (after 'super init', of course)."

This is a very standard Smalltalk programming idiom.  It is so standard
that it probably wouldn't be included in a class specification; the author
would just assume everyone would know it.  As we've seen, this is clearly
not true, at least unless everyone has been through a standard course on
Smalltalk idioms.

Ralph Johnson -- University of Illinois at Urbana-Champaign
From: latta@scam.berkeley.edu (Craig R. Latta)
Newsgroups: comp.lang.smalltalk
Subject: Re: Smalltalk FAQ
Date: 17 Aug 92 00:21:33
Organization: Experimental Computing Facility (XCF)
Distribution: world
NNTP-Posting-Host: xcf.berkeley.edu
In-reply-to: fellin@sumax.seattleu.edu's message of 15 Aug 92 05:53:14 GMT



	I sent the FAQ to Phillip. This is a good time to bring up a
point I tried to raise a while ago. Unfortunately, I recently found
out that my old news poster has been out of whack for months.

	I maintain a frequently-asked questions (FAQ) document for
Smalltalk. I have previously posted it here to comp.lang.smalltalk,
from my account at UC Berkeley (latta@xcf.berkeley.edu).
	I'm now an employee of ParcPlace Systems, Inc., which, as you
probably know, is a producer of several Smalltalk-related products. I
have been allowed to continue doing the Smalltalk FAQ by my employer,
with the understanding that (as always) I am solely responsible for
its content, which is subject to approval by my management (to make
sure it isn't controversial). I'd like to continue to do the FAQ, but
first I'd like to know if anyone here objects.
	The main Cool Things I see about the way I do it are that I
can post the FAQ automatically at regular intervals, and can provide
asynchronous access to it via anonymous ftp and a mail server. I've
collected good answers to very frequently-asked questions. And I do
happen to think I'm just your normal rabid Smalltalk maniac, as
opposed to someone trying to plug anything.
	If there is strong objection to my doing the FAQ, then I'd be
happy to see anyone who can provide equivalent access to it take it
over.

	Anyway, please let me know via email (or by posting to the
group if relevant, of course) if you have any particular feelings
about this. If I resume, I'd like to do so on 1 September, posting at
fortnightly intervals after that, from UC Berkeley.


	Thanks,

-C


--
-----------------------------------------------------------------------------
Craig R. Latta           Experimental Computing Facility                (XCF)
Composer, Software and   ParcPlace Systems, Inc.        (latta@parcplace.com)
    Recording Engineer   NetJam, Berkeley                (netjam-request@xcf)
latta@xcf.Berkeley.EDU   Smallmusic OO music project (smallmusic-request@xcf)
(standard  disclaimer)	 proof NL parsing project         (proof-request@xcf)
-----------------------------------------------------------------------------
From: chang@alc.com (Seyho Chang)
Newsgroups: comp.lang.smalltalk
Subject: Re: which smalltalk for the mac?
Date: 13 Aug 92 17:50:57 GMT
Organization: Ascent Logic Corporation, San Jose, CA

In article <5600@vtserf.cc.vt.edu> cohill@vtserf.cc.vt.edu (Andrew M. Cohill) writes:
>In article <Aug.10.13.37.31.1992.26239@cesl.rutgers.edu> peskin@cesl.rutgers.edu ( R. Peskin) writes:
>>If you have to use Smalltalk on the Mac, I suggest that you use Digitalk's ST/V 
>>Mac. It maintains the Mac window paradigm (which I'm told will be available in
>>emulation form with PPS 4.1), and has a better way to deal with user added
>>primitives. 
>
>An even better choice would be Prograph, a *real* development
>environment with both interpeter and compiler, persistent objects, an
>object database, support for the Comm Toolbox, support for C and Pascal
>imbedded code, better documentation on writing your own primitives, far
>superior debugging tools, ResEdit style interface editors (point and
>click), some of the best features of Lisp and Prolog (list processing
>and true/false case processing), and a completely visual programming
>environment.
>
>Is it Smalltalk?  No, it's better.  Why do I bother reading this group?
>I'm very fond of Smalltalk because it opened my eyes to a better way of
>programming, but the ST interface has not changed substantially since
>the 70's.  I can do everything I want to do in Smalltalk using Prograph,
>but I can do it quicker, better, more elegantly, and enjoy it more.  
>
>I have no connection to Prograph except as a very satisfied customer.
>
>Prograph
>TGS Systems
>2745 Dutch Village Road
>Halifax, Nova Scotia  B3L 4G7   Canada
>902/455-4446
>FAX 902/455-2246.
>
>Available now for the Mac, and coming to other unannounced platforms
>soon (I wish they would tell me which ones....).
>
>Available for $309 from MacConnection.
>
>Andrew Cohill
>
>-- 
>|          ...we have to look for routes of power our teachers never       
>|              imagined, or were encouraged to avoid.   T. Pynchon          
>|                    
>|Andrew Cohill        cohill@vtserf.cc.vt.edu            VPI&SU                                                  

This is Smalltalk discussion forum. Not stupid religious war about
which language is better (Smalltalk vs. C++, or Smalltalk vs. Prograph).
If you want discuss advantages of Prograph, create your own newsgroups.

No language is better than other languages.  Selection of development
language is depends on application type and how your want to develop
your systems.
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Organization: Universidade Federal de Santa Catarina/BRASIL
Newsgroups: comp.lang.smalltalk
Date:         Tue, 18 Aug 1992 18:59:48 BSC
From:         marcos francisco ferreira de macedo <88132293@BRUFSC.BITNET>
Subject:      Re: designing an OO language (Was: Re: Yet Another Beginner's
              18 Aug 1992 04:24:01 GMT from <robert@METROPOLIS.COM>

On Tue, 18 Aug 1992 04:24:01 GMT Robert Munyer said:
>In article <SMALK%92081714284200@FINHUTC.HUT.FI> jrade1@GWDGV1.DNET.GWDG.DE
>(GWDGV1::JRADE1) writes:
>
>
>	| anArray abc:def: |
>	    abc:def: := at:put: .
>	    anArray := #(1 2 3 4) copy .
>	    anArray abc: 3 def: #three .
>	    anArray
>
   Can you use a block (Context) ? It should have the same efect...

   ... but you can use a symbol and a perform message, but i think that
it is not what you want.

         Pluspa
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-Organization: Indiana University of Pennsylvania
X-Envelope-to: SMALK@FINHUTC.BITNET
X-VMS-To: NETMAIL%"SMALK@FINHUTC"
X-VMS-Cc: TPC
Newsgroups: comp.lang.smalltalk
Date:         Wed, 19 Aug 1992 11:19:00 EST
From:         "Tom Cunningham, Computer Science Department" <TPC@IUP.BITNET>
Subject:      Need Help Implementing a Component on Small Talk in a Course

Hi:

     I would like to include a component on Small Talk in the "Modern
Programming Languages" course I am teaching.

     Here is the environment:

     The students are all seniors and they have already taken courses which
included Fortran, COBOL, Pascal, and assembly language.

     A little over half of the course time (21 hours) is used covering the
material from the textbook, including a chapter on Small Talk.  About six class
hours are used introducing Ada, about six class hours are used introducing
LISP, and I would like to introduce Small Talk using about six class hours
(currently I am covering objects in Turbo Pascal).

     Here are the problems:

     I need the name and phone number of suppliers of inexpensive PC based
Small Talks.  (The department will purchase several copies.  The students will
_not_ be buying individual copies.)

     If there are several PC based Small Talks available, I would appreciate
suggestions, hopefully including reasons, as to which one I should purchase.

     I need suggestions regarding inexpensive introductory textbooks for Small
Talk.  (Remember these students are already buying a "Programming Languages"
textbook, $50 - $75.)  If possible, please supply title, author, and publisher.

     Thank you for your time.

Tom
------------------------------------------------------------------------------
  Martin's Law:  You can't learn anything unless you almost know it already.
------------------------------------------------------------------------------
 Thomas P. Cunningham, Associate Professor     BitNet:    TPC@IUP
 Computer Science Department                   DNS (mx):  TPC@Grove.IUP.Edu
 Indiana University of Pennsylvania            Desk:      412-357-2463
 Indiana, Pennsylvania    15705-1087           Office:    412-357-2524
   >> Jimmy Stewart's hometown <<              FAX:       Upon Request
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Newsgroups: comp.lang.smalltalk
Date:         Wed, 12 Aug 1992 15:49:10 +0200
From:         "GWDGV1::JRADE1" <jrade1@GWDGV1.DNET.GWDG.DE>
Subject:      Re: PC decompressor (was: no subject)

On: Tue, 28 Jul 1992 11:40:34 +0000,
"beno t marchal" <INFSTDMARCH@BNANDP51.BITNET> wrote:
>In a previous article, Martin Brown wrote :
>> I have uploaded to the smalltalk archive (st.cs.uiuc.edu) the transcript
>> of the July 8, 1992 smalltalk irc meeting. The file is "ircjul92.txt.Z"
>> and as you see is compressed. It is in the directory pub/tmp.
>
>I'd like to read this article but although I know how to download it,
>I can't find how to decompress the file.
>Which program should I use ?

I use COMP430D.EXE . It's available from simtel20 and it's mirrors, e.g.
wuarchive.wustl.edu in mirrors/msdos/compress a COMP430D.ZIP . Use -? for
syntax help.

- joerg rade
From: peterg@netcom.com (Peter Goodall)
Newsgroups: comp.lang.smalltalk
Subject: Re: Digitalk ST/V-PM: more problems?!
Date: 18 Aug 92 19:22:35 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest)

marten@feki.toppoint.de (Marten Feldtmann) writes:

>Another nice way to crash ST-V/PM 1.4 with OS/2 2.0  (at least on my system):

>               1 to: 500 do: [ :anIndex | 
>                   Transcript show: (anIndex printString) ; cr ]

>The machine is a 486/33, 16MB ... perhaps it's a timing problem, because
>the number at which ST-V/Pm crashes is not always the same.

>It always produces an illegal access error within the library "PMMLE.DLL".

>Can someone confirm this?

> MF



>--
>Marten Feldtmann                         E-Mail: marten@tpki.toppoint.de
>2300 Kiel 14,    Kieler Str. 29,   Tel.: 0431-731916,   FAX: 0431-737677

In the ENVY 1.3a readme file there is mention of this problem. It is a
timing problem and apparently the smae problem can be caused in any
language by writing too quickly to a text window (MLE?).

P.S. The release notes for ENVY give a lot more useful information on
system problems than anything documented by Digitalk.

Peter Goodall -- peterg@netcom.com
From: fellin@sumax.seattleu.edu (Phillip Fellin)
Newsgroups: comp.lang.smalltalk
Subject: FAQ & gnu smalltalk
Date: 15 Aug 92 05:53:14 GMT
Distribution: seattle
Organization: Seattle University, Seattle WA

Will someone email me the FAQ for smalltalk?

Is there such an animal as gnu smalltalk?

thanks

p.c.f.
From: cohill@vtserf.cc.vt.edu (Andrew M. Cohill)
Newsgroups: comp.lang.smalltalk
Subject: Re: which smalltalk for the mac?
Date: 12 Aug 92 13:03:06 GMT
Organization: Fire in the Mountain

In article <Aug.10.13.37.31.1992.26239@cesl.rutgers.edu> peskin@cesl.rutgers.edu ( R. Peskin) writes:
>If you have to use Smalltalk on the Mac, I suggest that you use Digitalk's ST/V 
>Mac. It maintains the Mac window paradigm (which I'm told will be available in
>emulation form with PPS 4.1), and has a better way to deal with user added
>primitives. 

An even better choice would be Prograph, a *real* development
environment with both interpeter and compiler, persistent objects, an
object database, support for the Comm Toolbox, support for C and Pascal
imbedded code, better documentation on writing your own primitives, far
superior debugging tools, ResEdit style interface editors (point and
click), some of the best features of Lisp and Prolog (list processing
and true/false case processing), and a completely visual programming
environment.

Is it Smalltalk?  No, it's better.  Why do I bother reading this group?
I'm very fond of Smalltalk because it opened my eyes to a better way of
programming, but the ST interface has not changed substantially since
the 70's.  I can do everything I want to do in Smalltalk using Prograph,
but I can do it quicker, better, more elegantly, and enjoy it more.  

I have no connection to Prograph except as a very satisfied customer.

Prograph
TGS Systems
2745 Dutch Village Road
Halifax, Nova Scotia  B3L 4G7   Canada
902/455-4446
FAX 902/455-2246.

Available now for the Mac, and coming to other unannounced platforms
soon (I wish they would tell me which ones....).

Available for $309 from MacConnection.

Andrew Cohill

-- 
|          ...we have to look for routes of power our teachers never       
|              imagined, or were encouraged to avoid.   T. Pynchon          
|                    
|Andrew Cohill        cohill@vtserf.cc.vt.edu            VPI&SU                                                  
Newsgroups: comp.lang.smalltalk
From: delp@syrinx.rap.ucar.edu (Stephen Delp)
Subject: Beginner's Question
Organization: Scientific Computing Division/NCAR Boulder, CO
Date: Wed, 12 Aug 1992 18:01:15 GMT


I'm using ST/V on the mac and I want to show a float
on the transcript window.

	Transcript show: 'sin(1.2) = ';
	space;
	?????????

What's the best way to write objects other than strings and characters
to a Stream?

Steve

Newsgroups: comp.lang.smalltalk
From: brent@uwovax.uwo.ca (Brent Sterner)
Subject: Novice question re: controller menus
Organization: University of Western Ont, London
Date: Tue, 18 Aug 1992 20:17:03 GMT

   I have a model of a disk which I can control adequately, using the MVC
paradigm.  By this I mean that the menu button allows selection of which
aspect of the disk model is displayed in the view (capacity, errors, usage;
the latter is a bar chart).
   I tried to drop a bunch of instances of this disk model into a "disk
cabinet" model.  This works (the disks are all fully displayed as I want),
but I have no menu control (mouse button 2).  MB2 operates the menu display
correctly for an individual disk instance in a normal display window.

   The disk cabinet view uses CompositePart new (borrowed from several other
examples).  One view is reserved for the cabinet itself (it currently just
displays the cabinet capacity, which limits adding disks to the cabinet.  The
open method steps through the disks "owned" by the cabinet, and defines a
subview for each disk (within the cabinet view), which I want to behave like
a "real" disk window view.

   I can control the display aspect of eac individual disks from "outside"
the view by sending messages to the individual disk models, but I cannot make
the menu appear either for the cabinet view or for it's disk subviews.

   I suspect that the my usage of "CompositePart" is preventing the menu
activity, since the menu behaves for individual disk models (which don't use
"CompositePart".  Thanks for what ever suggestions you may contribute.  b.

   PS: I decided that the following st code was brief enough to broadcast,
and may clarify what I've described above:
-------------------------------------------------------------------------

open: aDC
	"Create and schedule a window for a DiskCabinet."

	"| aDC |
	aDC := DiskCabinet new.
	DiskCabinetView open: aDC"

	| window container diskCabView cabinetHeight cabinetInfoHeight |
	| diskPos delta aDiskView |

	window := ScheduledWindow new.
	window label: 'Disk Cabinet'.
	cabinetHeight := 250.
	window minimumSize: 150@cabinetHeight.
	container := CompositePart new.

	"Cabinet information view."
	cabinetInfoHeight := 22.
	diskCabView := DiskCabinetView model: aDC.
	container add: diskCabView
			borderedIn: (LayoutFrame new
			leftOffset: 0;     topOffset:0;
			rightFraction:1.0; bottomOffset:cabinetInfoHeight).

	"Disk information view."
	diskPos := cabinetInfoHeight.
	delta := (cabinetHeight - cabinetInfoHeight) / (aDC maxDisks max: 1).

	aDC diskSet do: [ :value |
		aDiskView := DiskView model: value.
		container  add: aDiskView
			   borderedIn: (LayoutFrame new
			   leftOffset: 0; topOffset: diskPos;
			   rightFraction: 1.0; bottomOffset: (diskPos+delta)).
		diskPos := diskPos + delta].

	window component: container.
	window open
From: urcml@pitt.edu (Mun L Chan)
Newsgroups: comp.lang.smalltalk
Subject: Async Serial Comm in ST/V Win
Date: 21 Aug 92 18:59:51 GMT
Organization: University of Pittsburgh
Originator: urcml@unix.cis.pitt.edu

Hi,
     Let me thank those who responded to my question on
implementing serial port communications from within Digitalk's
Smalltalk for Windows.  For those interested, I was sent the code
by Roelof Osinga available on Compuserve that is quite
comprehensive and useful.  As I don't have Compuserve access, I am
particularly grateful to NG for sending it and will be willing to
forward it to others who may want it also.
     OOPsCOMM is the name of the package and unfortunately it
relies on ST/V Win's multiprocessing model to poll for input and
and is not driven by asynchronous interrupts.
     The question now is (1) can someone tell me the name of a
package that does asynchronous serial interrupts, (2) clarify for
me the relationship between Process, InputEvent, and
NotificationManager as perhaps the 3 classes that implements async
keyboard interrupts and may be the place to begin adapting
OOPsCOMM, and (3) point me to the correct location in the Windows
Class web as I am almost certain buried in there somewhere are some
WM messages I should know about.
     Digitalk's marvelously terse manual on page 255 does mention
being able to add one's own interrupts and the global
InterruptSelectors even has 'commInterrupt' as 10, but is unused. 
Any help at all will be greatly appreciated,


Thanks,