39 lines
1.3 KiB
GDScript
39 lines
1.3 KiB
GDScript
extends GutTest
|
|
|
|
class TestNamedParameters:
|
|
extends GutTest
|
|
|
|
func test_creates_array_of_dictionaries():
|
|
var got = ParameterFactory.named_parameters(['a', 'b'], [[1, 2], [3, 4]])
|
|
assert_typeof(got[0], TYPE_DICTIONARY)
|
|
|
|
# spot check values.
|
|
func test_gets_what_you_expect_back():
|
|
var names = ['a', 'b', 'c']
|
|
var vals = [[1, 2, 3], ['one', 'two', 'three'], [4, 'five', 6]]
|
|
var got = ParameterFactory.named_parameters(names, vals)
|
|
assert_eq(got[0].a, 1, '0.a')
|
|
assert_eq(got[1]['c'], 'three', '1.c')
|
|
assert_eq(got[2].b, 'five', '2.b')
|
|
assert_eq(got[2]['a'], 4, '2.a')
|
|
|
|
func test_when_less_names_than_values_values_are_ignored():
|
|
var names = ['a', 'b']
|
|
var vals = [[1, 2, 3], [4, 5, 6]]
|
|
var got = ParameterFactory.named_parameters(names, vals)
|
|
assert_eq(got[0].size(), 2)
|
|
|
|
func test_when_less_values_then_nulls_are_filled_in():
|
|
var names = ['a', 'b','c']
|
|
var vals = [[1, 2], [3, 4]]
|
|
var got = ParameterFactory.named_parameters(names, vals)
|
|
assert_eq(got[0].size(), 3, 'size')
|
|
assert_null(got[0]['c'], 'c is null')
|
|
|
|
func test_fills_in_gaps_when_param_is_not_array():
|
|
var names = ['a', 'b','c']
|
|
var vals = [[1, 2], 'a', [3, 4]]
|
|
var got = ParameterFactory.named_parameters(names, vals)
|
|
assert_eq(got[1].size(), 3, 'size')
|
|
assert_null(got[1].b, 'b is null')
|