[Pharo] Personal fitness tracker web app.
1
"
2
A MFTRepSchemeTest is a test class for testing the behavior of MFTRepScheme
3
"
4
Class {
5
#name : 'MFTRepSchemeTest',
6
#superclass : 'TestCase',
7
#category : 'MyFitnessTracker-Core-Tests-Prescription',
8
#package : 'MyFitnessTracker-Core-Tests',
9
#tag : 'Prescription'
10
}
11
12
{ #category : 'tests' }
13
MFTRepSchemeTest >> testCanonicalNameUsesRepRange [
14
15
| repScheme |
16
repScheme := MFTRepScheme from: 6 to: 10.
17
18
self assert: repScheme canonicalName equals: '6–10'
19
]
20
21
{ #category : 'tests' }
22
MFTRepSchemeTest >> testFromToSetsMinimumAndMaximumReps [
23
24
| repScheme |
25
repScheme := MFTRepScheme from: 6 to: 10.
26
27
self assert: repScheme minReps equals: 6.
28
self assert: repScheme maxReps equals: 10
29
]
30
31
{ #category : 'tests' }
32
MFTRepSchemeTest >> testIncludesAnswersTrueForMaximumBoundary [
33
34
| repScheme |
35
repScheme := MFTRepScheme from: 6 to: 10.
36
37
self assert: (repScheme includes: 10)
38
]
39
40
{ #category : 'tests' }
41
MFTRepSchemeTest >> testIncludesAnswersTrueForMinimumBoundary [
42
43
| repScheme |
44
repScheme := MFTRepScheme from: 6 to: 10.
45
46
self assert: (repScheme includes: 6)
47
]
48
49
{ #category : 'tests' }
50
MFTRepSchemeTest >> testIncludesReps [
51
52
| scheme |
53
scheme := MFTRepScheme from: 6 to: 10.
54
self
55
assert: (scheme includes: 6);
56
assert: (scheme includes: 10);
57
deny: (scheme includes: 5);
58
deny: (scheme includes: 11)
59
]
60
61
{ #category : 'tests' }
62
MFTRepSchemeTest >> testMaxRepsAccessor [
63
64
| repScheme |
65
repScheme := MFTRepScheme new.
66
67
repScheme maxReps: 10.
68
69
self assert: repScheme maxReps equals: 10
70
]
71
72
{ #category : 'tests' }
73
MFTRepSchemeTest >> testMinRepsAccessor [
74
75
| repScheme |
76
repScheme := MFTRepScheme new.
77
78
repScheme minReps: 6.
79
80
self assert: repScheme minReps equals: 6
81
]
82
83
{ #category : 'tests' }
84
MFTRepSchemeTest >> testRepSchemeProgressionFor [
85
86
| scheme |
87
scheme := MFTRepScheme from: 6 to: 10.
88
self
89
assert: (scheme progressionFor: 11) equals: #increaseLoad;
90
assert: (scheme progressionFor: 5) equals: #decreaseLoad;
91
assert: (scheme progressionFor: 6) equals: #keepLoad;
92
assert: (scheme progressionFor: 10) equals: #keepLoad
93
]
94
95
{ #category : 'tests' }
96
MFTRepSchemeTest >> testSetLogIsLoggedAndVolume [
97
98
| log |
99
log := MFTSetLog reps: 8 load: 100.
100
101
self assert: log isLogged.
102
self assert: log volume equals: 800.
103
104
log reps: nil.
105
self deny: log isLogged
106
]
107
108
{ #category : 'tests' }
109
MFTRepSchemeTest >> testSetPrescriptionEqualityAndHash [
110
111
| exercise scheme a b c |
112
exercise := MFTExercise dumbbellFly.
113
scheme := MFTRepScheme from: 6 to: 10.
114
115
a := MFTSetPrescription exercise: exercise repScheme: scheme.
116
b := MFTSetPrescription exercise: exercise repScheme: scheme.
117
c := MFTSetPrescription exercise: MFTExercise barbellSquat repScheme: scheme.
118
119
self assert: a equals: b.
120
self assert: a hash equals: b hash.
121
122
self deny: a equals: c
123
]
124