Skip to content

Instantly share code, notes, and snippets.

@bitwes
Created April 8, 2020 15:48
Show Gist options
  • Save bitwes/60fa67562b093aac0dd2005904a67bbc to your computer and use it in GitHub Desktop.
Save bitwes/60fa67562b093aac0dd2005904a67bbc to your computer and use it in GitHub Desktop.
Tests for spinner.gd
extends 'res://addons/gut/test.gd'
var BigSpinner = load('res://<your spinner scene path>')
func test_can_make_one():
assert_not_null(BigSpinner.instance())
func test_get_set_low():
assert_accessors(BigSpinner.instance(), 'low', 0.0, 10.0)
func test_get_set_high():
assert_accessors(BigSpinner.instance(), 'high', 100.0, 30.0)
func test_get_set_step():
assert_accessors(BigSpinner.instance(), 'step', 1.0, 2.5)
func test_get_set_value():
assert_accessors(BigSpinner.instance(), 'value', 0.0, 20.0)
func test_increment_increments_by_step():
var bs = BigSpinner.instance()
bs.set_step(5)
bs.increment()
assert_eq(bs.get_value(), 5.0)
func test_cannot_increment_past_high():
var bs = BigSpinner.instance()
bs.set_high(3)
bs.set_step(10)
bs.increment()
assert_eq(bs.get_value(), 3)
func test_decrement_decrements_by_step():
var bs = BigSpinner.instance()
bs.set_value(50.0)
bs.set_step(2)
bs.decrement()
assert_eq(bs.get_value(), 48)
func test_cannot_decrement_past_low():
var bs = BigSpinner.instance()
bs.set_value(50.0)
bs.set_step(75.0)
bs.decrement()
assert_eq(bs.get_value(), 0.0)
func test_setting_low_greater_than_high_does_not_work():
var bs = BigSpinner.instance()
bs.set_low(101.0)
assert_eq(bs.get_low(), 0.0)
func test_setting_high_lower_than_low_does_not_work():
var bs = BigSpinner.instance()
bs.set_high(-1.0)
assert_eq(bs.get_high(), 100.0)
func test_setting_low_greater_than_value_changes_value():
var bs = BigSpinner.instance()
bs.set_value(10)
bs.set_low(20)
assert_eq(bs.get_value(), 20)
func test_setting_high_lower_than_value_changes_value():
var bs = BigSpinner.instance()
bs.set_value(50.0)
bs.set_high(25.0)
assert_eq(bs.get_value(), 25.0)
func test_more_signals_change():
var bs = BigSpinner.instance()
watch_signals(bs)
bs._on_More_pressed()
assert_signal_emitted(bs, 'value_changed')
func test_on_less_signals_change():
var bs = BigSpinner.instance()
watch_signals(bs)
bs.set_value(20)
bs._on_Less_pressed()
assert_signal_emitted(bs, 'value_changed')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment