diff -r 000000000000 -r 9365d5753f11 SUnitTest.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SUnitTest.st Wed Oct 25 17:51:59 2000 +0200 @@ -0,0 +1,143 @@ +'From Smalltalk/X, Version:4.1.1 on 24-oct-2000 at 08:11:03 pm' ! + +"{ Package: 'stx:goodies/sunit' }" + +TestCase subclass:#SUnitTest + instanceVariableNames:'hasRun hasSetup hasRanOnce' + classVariableNames:'' + poolDictionaries:'' + category:'SUnitTests' +! + +!SUnitTest methodsFor:'Accessing'! + +hasRun + ^hasRun! + +hasSetup + ^hasSetup! ! + +!SUnitTest methodsFor:'Private'! + +error + 3 zork + + "Modified: / 21.6.2000 / 10:22:18 / Sames" +! + +fail + self assert: false! + +noop! + +setRun + hasRun := true! ! + +!SUnitTest methodsFor:'Running'! + +setUp + hasSetup := true! ! + +!SUnitTest methodsFor:'Testing'! + +testAssert + self assert: true. + self deny: false! + +testDebugUI + "This should break" + 3 zork + + "Modified: / 21.6.2000 / 10:22:50 / Sames" +! + +testDefects + | result suite error failure | + suite := TestSuite new. + suite addTest: (error := self class selector: #error). + suite addTest: (failure := self class selector: #fail). + result := suite run. + self assert: result defects asArray = (Array with: error with: failure) + + "Modified: / 21.6.2000 / 10:23:04 / Sames" +! + +testDialectLocalizedException + self should: [TestResult signalFailureWith: 'Foo'] raise: TestResult failure. + self should: [TestResult signalErrorWith: 'Foo'] raise: TestResult error. + self shouldnt: [TestResult signalErrorWith: 'Foo'] raise: TestResult failure. + + "Modified: / 21.6.2000 / 10:23:20 / Sames" +! + +testError + | case result | + case := self class selector: #error. + result := case run. + self assert: result correctCount = 0. + self assert: result failureCount = 0. + self assert: result runCount = 1. + self assert: result errorCount = 1! + +testException + self should: [self error: 'foo'] raise: TestResult error + + "Modified: / 21.6.2000 / 10:23:39 / Sames" +! + +testFail + | case result | + case := self class selector: #fail. + result := case run. + self assert: result correctCount = 0. + self assert: result failureCount = 1. + self assert: result runCount = 1! + +testFailureDebugUI + "This should fail !!" + self fail! + +testIsNotRerunOnDebug + | case | + case := self class selector: #testRanOnlyOnce. + case run. + case debug! + +testRan + | case | + case := self class selector: #setRun. + case run. + self assert: case hasSetup. + self assert: case hasRun! + +testRanOnlyOnce + self assert: hasRanOnce ~= true. + hasRanOnce := true.! + +testResult + | case result | + case := self class selector: #noop. + result := case run. + self assert: result runCount = 1. + self assert: result correctCount = 1! + +testRunning + (SUnitDelay forSeconds: 2) wait + + "Modified: / 21.6.2000 / 10:24:41 / Sames" +! + +testShould + self should: [true]. + self shouldnt: [false]! + +testSuite + | suite result | + suite := TestSuite new. + suite addTest: (self class selector: #noop). + suite addTest: (self class selector: #fail). + result := suite run. + self assert: result runCount = 2. + self assert: result correctCount = 1. + self assert: result failureCount = 1! ! +