GADriverManagerTest
Overview
Please comment me using the following template inspired by Class Responsibility Collaborator (CRC) design:
For the Class part: State the name of the class with one line description: For example, I'm xxx the root of the hierarchy of visitor objects.
For the Responsibility part: Three sentences about my main responsibility, what I'm doing, what services do I offer.
For the Collaborators Part: State my main collaborators and one line about how I interact with them.
Public API and Key Messages
- label item
One simple example is simply gorgeous.
Internal Representation and Key Implementation Points.
Implementation Points
Instance Method Details
testAccessingAvailableDriversYieldsDriver
testAccessingAvailableDriversYieldsDriver| manager driver |
manager := GADriverManager new.
driver := GAMockDriver new.
manager subscribeDriver: driver.
self assert: (manager driverAt: driver driverId) equals: driver
testAccessingUnavailableDriversRaisesError
testAvailableDriversDoNotListCollectedDrivers
testAvailableDriversDoNotListCollectedDrivers| manager driver |
manager := GADriverManager new.
manager subscribeDriver: GAMockDriver new.
driver := nil.
Smalltalk garbageCollect
self assert: manager availableDrivers equals: #()
testAvailableDriversListsSubscribedDrivers
testAvailableDriversListsSubscribedDrivers| manager driver id |
manager := GADriverManager new.
driver := GAMockDriver new.
id := driver driverId.
manager subscribeDriver: driver.
self assert: manager availableDrivers equals: {id}
testDriverManagerIsInitiallyEmpty
testDriverManagerIsInitiallyEmpty
testSubscribe
testSubscribe| manager driver |
manager := GADriverManager new.
driver := GAMockDriver new.
manager subscribeDriver: driver.
self assert: (manager isAvailable: driver driverId)
testSubscribeIsWeak
testSubscribeIsWeak| manager driver id |
manager := GADriverManager new.
driver := GAMockDriver new.
id := driver driverId.
manager subscribeDriver: driver.
driver := nil.
Smalltalk garbageCollect
self assert: (manager isAvailable: id) not
testSubscribeTwiceReplaces
testSubscribeTwiceReplaces| manager driver |
manager := GADriverManager new.
driver := GAMockDriver new.
manager subscribeDriver: driver.
manager subscribeDriver: driver.
self assert: manager availableDrivers equals: {(driver driverId)}