GADriverManagerTest

TestCase subclass: #'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

testAccessingUnavailableDriversRaisesError
| manager |
manager := GADriverManager new.
self should: manager driverAt: 1 ] raise: Error

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
| manager |
manager := GADriverManager new.
self assert: manager availableDrivers equals: #()

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)}