Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests in SpSliderAdapterTest #1652

Merged
merged 1 commit into from
Nov 17, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 163 additions & 1 deletion src/Spec2-Backend-Tests/SpSliderAdapterTest.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,168 @@ Class {

{ #category : 'accessing' }
SpSliderAdapterTest >> classToTest [
^ SpSliderPresenter
]

{ #category : 'tests' }
SpSliderAdapterTest >> testChangeInLabelUpdatesWidget [

self
assert: self adapter widgetLabel
closeTo: ''.

presenter label: 'test'.

self
assert: self adapter widgetLabel
equals: 'test'
]

{ #category : 'tests' }
SpSliderAdapterTest >> testChangeInMaxUpdatesWidget [

presenter value: 80.

"Default max is 100"
self
assert: self adapter widgetAbsoluteValue
closeTo: 0.8.
self
assert: self adapter widgetValue
equals: 80.

"Changing max updates the slider value"
presenter max: 1000.
self
assert: self adapter widgetAbsoluteValue
closeTo: 0.8.
self
assert: self adapter widgetValue
equals: 800
]

{ #category : 'tests' }
SpSliderAdapterTest >> testChangeInMinUpdatesWidget [

presenter value: 80.

"Default min is 0"
self
assert: self adapter widgetAbsoluteValue
closeTo: 0.8.
self
assert: self adapter widgetValue
equals: 80.

"Changing min updates the slider value"
presenter min: 50.
self
assert: self adapter widgetAbsoluteValue
closeTo: 0.8.
self
assert: self adapter widgetValue
equals: 90
]

{ #category : 'tests' }
SpSliderAdapterTest >> testChangeInQuantumUpdatesWidget [

presenter
min: -50;
max: 150.

"By default, quantum is 1, which means round Floats to Integer"
presenter value: 49.1.
self assert: self adapter widgetValue closeTo: 49.

presenter value: -49.1.
self assert: self adapter widgetValue closeTo: -49.

"Quantum is disabled when nil is set"
presenter quantum: nil.

presenter value: 49.1.
self assert: self adapter widgetValue closeTo: 49.1.

presenter value: -49.1.
self assert: self adapter widgetValue closeTo: -49.1.

"Set 50 as quantum"
presenter quantum: 10.

"Current value is automatically rounded acording to the new quamtum"
self assert: self adapter widgetValue equals: -50.

"It also works with new values"
presenter value: 49.
self assert: self adapter widgetValue equals: 50
]

{ #category : 'tests' }
SpSliderAdapterTest >> testChangeInValueUpdatesWidget [

presenter
min: -50;
max: 150.

presenter value: 50.
self assert: self adapter widgetValue equals: 50.

presenter value: -50.
self assert: self adapter widgetValue equals: -50
]

{ #category : 'tests' }
SpSliderAdapterTest >> testPresenterUpdatesWidget [

presenter
min: -50;
max: 150.

presenter value: 50.
self assert: self adapter widgetValue equals: 50.

presenter value: -50.
self assert: self adapter widgetValue equals: -50.

"By default, quantum is 1, which means round Floats to Integer"
presenter value: 49.1.
self assert: self adapter widgetValue closeTo: 49.

presenter value: -49.1.
self assert: self adapter widgetValue closeTo: -49.

"Quantum is disabled when nil is set"
presenter quantum: nil.

presenter value: 49.1.
self assert: self adapter widgetValue closeTo: 49.1.

presenter value: -49.1.
self assert: self adapter widgetValue closeTo: -49.1.

"Set 50 as quantum"
presenter quantum: 10.

"Current value is automatically rounded acording to the new quamtum"
self assert: self adapter widgetValue equals: -50.

"It also works with new values"
presenter value: 49.
self assert: self adapter widgetValue equals: 50
]

{ #category : 'tests' }
SpSliderAdapterTest >> testWidgetUpdatesPresenter [

presenter
min: -50;
max: 150;
quantum: 10.

"Emulate a change on the widget"
self adapter widgetValue: 54.

^ SpSliderPresenter
self assert: presenter value equals: 50.
self assert: presenter absoluteValue equals: 0.5
]
Loading