From VisualWorks® NonCommercial, 7.4.1 of May 30, 2006 on November 15, 2006 at 1:01:06 pm ExtremeEcode Smalltalk false private Smalltalk.* Ecode Ecode Ecode ExtremeEcode Core.Object false none projects Ecode Ecode EcodeTest ExtremeEcode XProgramming.SUnit.TestCase false none ecode Ecode Ecode ProjectTest ExtremeEcode XProgramming.SUnit.TestCase false none project Ecode Ecode ExtremeEcode.Ecode class instance creation new "Answer a newly created and initialized instance." ^super new initialize ExtremeEcode.Ecode dependents collection lookupProject: aProject | res | res := projects detect: [ :e | e = aProject]. ^ res. addProject: aProject projects add: aProject deleteProject: aProject projects remove: aProject ExtremeEcode.Ecode fileIn/Out load |filename bos| filename := Dialog requestFileName: 'Open Ecode'. bos := BinaryObjectStorage onOldNoScan: filename asFilename readStream. [projects := bos contents] ensure: [bos close]. save |filename bos| filename := Dialog requestFileName: 'Open Ecode'. bos := BinaryObjectStorage onNew: filename asFilename writeStream. [bos nextPutAll: projects] ensure: [bos close]. ExtremeEcode.Ecode initialize-release initialize "Initialize a newly created instance. This method must answer the receiver." " *** Edit the following to properly initialize instance variables ***" projects := OrderedCollection new. " *** And replace this comment with additional initialization code *** " ^self ExtremeEcode.Ecode accessing projects ^projects ExtremeEcode.EcodeTest testing testRemoveProject ecode deleteProject: 'p2'. self assert: (ecode projects size = 2). self deny: (ecode projects includes: 'p2'). self assert: (ecode projects includes: 'p3'). testAddProject self assert: (ecode projects size = 3). self assert: (ecode projects includes: 'p2'). testLookupProject |res| res := ecode lookupProject: 'p2'. self assert: (res = 'p2'). testLoadSave ecode save. ecode := Ecode new. ecode load. self assert: (ecode projects size = 3). self assert: (ecode projects includes: 'Foo'). ExtremeEcode.EcodeTest initialize-release setUp ecode := Ecode new. ecode addProject: 'Foo'. ecode addProject: 'p2'. ecode addProject: 'p3'. ExtremeEcode.ProjectTest testing testAddClass ExtremeEcode.ProjectTest initialize-release setUp project := Project new.