" A MFTRepSchemeTest is a test class for testing the behavior of MFTRepScheme " Class { #name : 'MFTRepSchemeTest', #superclass : 'TestCase', #category : 'MyFitnessTracker-Core-Tests-Prescription', #package : 'MyFitnessTracker-Core-Tests', #tag : 'Prescription' } { #category : 'tests' } MFTRepSchemeTest >> testCanonicalNameUsesRepRange [ | repScheme | repScheme := MFTRepScheme from: 6 to: 10. self assert: repScheme canonicalName equals: '6–10' ] { #category : 'tests' } MFTRepSchemeTest >> testFromToSetsMinimumAndMaximumReps [ | repScheme | repScheme := MFTRepScheme from: 6 to: 10. self assert: repScheme minReps equals: 6. self assert: repScheme maxReps equals: 10 ] { #category : 'tests' } MFTRepSchemeTest >> testIncludesAnswersTrueForMaximumBoundary [ | repScheme | repScheme := MFTRepScheme from: 6 to: 10. self assert: (repScheme includes: 10) ] { #category : 'tests' } MFTRepSchemeTest >> testIncludesAnswersTrueForMinimumBoundary [ | repScheme | repScheme := MFTRepScheme from: 6 to: 10. self assert: (repScheme includes: 6) ] { #category : 'tests' } MFTRepSchemeTest >> testIncludesReps [ | scheme | scheme := MFTRepScheme from: 6 to: 10. self assert: (scheme includes: 6); assert: (scheme includes: 10); deny: (scheme includes: 5); deny: (scheme includes: 11) ] { #category : 'tests' } MFTRepSchemeTest >> testMaxRepsAccessor [ | repScheme | repScheme := MFTRepScheme new. repScheme maxReps: 10. self assert: repScheme maxReps equals: 10 ] { #category : 'tests' } MFTRepSchemeTest >> testMinRepsAccessor [ | repScheme | repScheme := MFTRepScheme new. repScheme minReps: 6. self assert: repScheme minReps equals: 6 ] { #category : 'tests' } MFTRepSchemeTest >> testRepSchemeProgressionFor [ | scheme | scheme := MFTRepScheme from: 6 to: 10. self assert: (scheme progressionFor: 11) equals: #increaseLoad; assert: (scheme progressionFor: 5) equals: #decreaseLoad; assert: (scheme progressionFor: 6) equals: #keepLoad; assert: (scheme progressionFor: 10) equals: #keepLoad ] { #category : 'tests' } MFTRepSchemeTest >> testSetLogIsLoggedAndVolume [ | log | log := MFTSetLog reps: 8 load: 100. self assert: log isLogged. self assert: log volume equals: 800. log reps: nil. self deny: log isLogged ] { #category : 'tests' } MFTRepSchemeTest >> testSetPrescriptionEqualityAndHash [ | exercise scheme a b c | exercise := MFTExercise dumbbellFly. scheme := MFTRepScheme from: 6 to: 10. a := MFTSetPrescription exercise: exercise repScheme: scheme. b := MFTSetPrescription exercise: exercise repScheme: scheme. c := MFTSetPrescription exercise: MFTExercise barbellSquat repScheme: scheme. self assert: a equals: b. self assert: a hash equals: b hash. self deny: a equals: c ]