Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions source/FluxBase-Core-Tests/FBDeferredChoiceTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -219,3 +219,12 @@ FBDeferredChoiceTest >> testABranchThatCannotWaitIsRejected [
self assert: seen isEmpty.
self assert: ((instance events detect: [ :each | each isKindOf: FBNodeActivationErrored ]) message includesSubstring: 'waits')
]

{ #category : 'tests' }
FBDeferredChoiceTest >> testTheChoiceStaysOutOfTheExposedNodeSetForNow [
"ApptiveGrid offers every non-abstract node class to its client as a type to pick;
the client knows no deferred choice yet, so the class reads abstract the way
FBRemoteFlowTask and FBTerminateEvent do - and stays instantiable"
self assert: FBDeferredChoice isAbstract.
self assert: (FBDeferredChoice named: 'choice') isDeferredChoice
]
12 changes: 12 additions & 0 deletions source/FluxBase-Core/FBDeferredChoice.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ would run at once cannot take part in a choice, since steps run to rest before a
from outside arrives, and my behavior refuses such a model. I open a pass like every
split (FBSplitExecution), which is what remembers whether I was decided and where my
branches began (#origin).

Abstract in the sense of the exposed node set only, like FBRemoteFlowTask and
FBTerminateEvent: ApptiveGrid lists every non-abstract node class to its client as a type
a user can pick, and the client knows nothing of a choice yet. Instantiable all the same;
the tests build me directly. An ApptiveBase subclass lifts this once the client can show
and configure one.
"
Class {
#name : 'FBDeferredChoice',
Expand All @@ -27,6 +33,12 @@ Class {
#tag : 'Model'
}

{ #category : 'testing' }
FBDeferredChoice class >> isAbstract [
"see the class comment: out of the exposed node set until the client knows the node"
^ true
]

{ #category : 'instance creation' }
FBDeferredChoice class >> typeName [
^ #deferredChoice
Expand Down
Loading