[Pharo] Personal fitness tracker web app.
1
"
2
A MFTSetGroupPrescriptionTest is a test class for testing the behavior of MFTSetGroupPrescription
3
"
4
Class {
5
#name : 'MFTSetGroupPrescriptionTest',
6
#superclass : 'TestCase',
7
#category : 'MyFitnessTracker-Core-Tests-Prescription',
8
#package : 'MyFitnessTracker-Core-Tests',
9
#tag : 'Prescription'
10
}
11
12
{ #category : 'tests' }
13
MFTSetGroupPrescriptionTest >> testInitializeCreatesEmptySetCollection [
14
15
| group |
16
group := MFTSetGroupPrescription new.
17
18
self assert: group sets isEmpty.
19
self assert: group sets class equals: OrderedCollection
20
]
21
22
{ #category : 'tests' }
23
MFTSetGroupPrescriptionTest >> testNewGroupHasZeroSetCount [
24
25
| group |
26
group := MFTSetGroupPrescription new.
27
28
self assert: group setCount equals: 0
29
]
30
31
{ #category : 'tests' }
32
MFTSetGroupPrescriptionTest >> testSetsAccessorStoresGivenCollection [
33
34
| group sets |
35
group := MFTSetGroupPrescription new.
36
sets := OrderedCollection with: Object new with: Object new.
37
38
group sets: sets.
39
40
self assert: group sets identicalTo: sets.
41
self assert: group setCount equals: 2
42
]
43
44
{ #category : 'tests' }
45
MFTSetGroupPrescriptionTest >> testSetsCollectionCanBeMutatedThroughAccessor [
46
47
| group set |
48
group := MFTSetGroupPrescription new.
49
set := Object new.
50
51
group sets add: set.
52
53
self assert: group setCount equals: 1.
54
self assert: group sets first identicalTo: set
55
]
56
57
{ #category : 'tests' }
58
MFTSetGroupPrescriptionTest >> testUniqueExercisesInSetsAnswersEmptySetWhenThereAreNoSets [
59
60
| group uniqueExercises |
61
group := MFTSetGroupPrescription new.
62
63
uniqueExercises := group uniqueExercisesInSets.
64
65
self assert: uniqueExercises isEmpty.
66
self assert: uniqueExercises class equals: Set
67
]
68
69
{ #category : 'tests' }
70
MFTSetGroupPrescriptionTest >> testValidateIsAbstract [
71
72
self
73
should: [ MFTSetGroupPrescription new validate ]
74
raise: SubclassResponsibility
75
]
76
77
{ #category : 'tests' }
78
MFTSetGroupPrescriptionTest >> testWithSetsRequiresConcreteValidation [
79
80
self
81
should: [ MFTSetGroupPrescription withSets: #( 1 2 3 ) ]
82
raise: SubclassResponsibility
83
]
84