" A MFTSetGroupPrescriptionTest is a test class for testing the behavior of MFTSetGroupPrescription " Class { #name : 'MFTSetGroupPrescriptionTest', #superclass : 'TestCase', #category : 'MyFitnessTracker-Core-Tests-Prescription', #package : 'MyFitnessTracker-Core-Tests', #tag : 'Prescription' } { #category : 'tests' } MFTSetGroupPrescriptionTest >> testInitializeCreatesEmptySetCollection [ | group | group := MFTSetGroupPrescription new. self assert: group sets isEmpty. self assert: group sets class equals: OrderedCollection ] { #category : 'tests' } MFTSetGroupPrescriptionTest >> testNewGroupHasZeroSetCount [ | group | group := MFTSetGroupPrescription new. self assert: group setCount equals: 0 ] { #category : 'tests' } MFTSetGroupPrescriptionTest >> testSetsAccessorStoresGivenCollection [ | group sets | group := MFTSetGroupPrescription new. sets := OrderedCollection with: Object new with: Object new. group sets: sets. self assert: group sets identicalTo: sets. self assert: group setCount equals: 2 ] { #category : 'tests' } MFTSetGroupPrescriptionTest >> testSetsCollectionCanBeMutatedThroughAccessor [ | group set | group := MFTSetGroupPrescription new. set := Object new. group sets add: set. self assert: group setCount equals: 1. self assert: group sets first identicalTo: set ] { #category : 'tests' } MFTSetGroupPrescriptionTest >> testUniqueExercisesInSetsAnswersEmptySetWhenThereAreNoSets [ | group uniqueExercises | group := MFTSetGroupPrescription new. uniqueExercises := group uniqueExercisesInSets. self assert: uniqueExercises isEmpty. self assert: uniqueExercises class equals: Set ] { #category : 'tests' } MFTSetGroupPrescriptionTest >> testValidateIsAbstract [ self should: [ MFTSetGroupPrescription new validate ] raise: SubclassResponsibility ] { #category : 'tests' } MFTSetGroupPrescriptionTest >> testWithSetsRequiresConcreteValidation [ self should: [ MFTSetGroupPrescription withSets: #( 1 2 3 ) ] raise: SubclassResponsibility ]