tests
testObjectByProxyThatBecomesItsContent
	"Tests a substitution of an object by a proxy that becomes another object on materialization."

	| aProxyClass result |
	aProxyClass := self classFactory silentlyNewClassWithInstanceVariableNames: 'someState'.
	self classFactory
		silentlyCompile: 'initialize  someState := 5@1' in: aProxyClass;
		silentlyCompile: 'fuelAccept: aVisitor
			^ aVisitor
				visitSubstitution: self
				by: (FLProxyThatBecomesItsContent newWith: someState)' in: aProxyClass.

	result := self resultOfSerializeAndMaterialize: aProxyClass new.

	self assert: 5 @ 1 equals: result
tests
testObjectByProxyThatBecomesItsContent
	"Tests a substitution of an object by a proxy that becomes another object on materialization."

	| aProxyClass result |
	aProxyClass := self classFactory silentlyNewClassWithInstanceVariableNames: 'someState'.
	self classFactory
		silentlyCompile: 'initialize  someState := 5@1' in: aProxyClass;
		silentlyCompile: 'fuelAccept: aVisitor
			^ aVisitor
				visitSubstitution: self
				by: (', FLProxyThatBecomesItsContent name, ' newWith: someState)' in: aProxyClass.

	result := self resultOfSerializeAndMaterialize: aProxyClass new.

	self assert: 5 @ 1 equals: result
Use mock class by name to prevent it from being accidentally deleted
Use mock class by name to prevent it from being accidentally deleted
theseion/Fuel