1
1
group := tester.newGroup(" array_reduceRight(array, callback, initialValue:='IAMNULL')" )
2
2
3
- names := [" bob " , " tom " , " morty" , " rick" ]
3
+ names := [" tom " , " jerry " , " morty" , " rick" ]
4
4
array := [1 ,2 ,3 ,6 ,4 ,5 ]
5
- array2 := [{" name" : names[4 ], " age" : 22 }
6
- , {" name" : names[3 ], " age" : 51 }
7
- , {" name" : names[2 ], " age" : 15 }
8
- , {" name" : names[1 ], " age" : 55 }]
9
-
5
+ array2 := [new Person(names[4 ], 22 )
6
+ , new Person(names[3 ], 51 )
7
+ , new Person(names[2 ], 15 )
8
+ , new Person(names[1 ], 55 )]
10
9
11
10
group.newTest(" Add all values of array"
12
- , Assert.equal(21 , array_reduceRight(array, func (" addition_fr " ))))
11
+ , Assert.equal(21 , array_reduceRight(array, func (" addition " ))))
13
12
14
13
group.newTest(" Find maximum value of array"
15
- , Assert.equal(6 , array_reduceRight(array, func (" maximum_fr " ))))
14
+ , Assert.equal(6 , array_reduceRight(array, func (" maximum " ))))
16
15
17
16
group.newTest(" Add all values of array to initial value"
18
- , Assert.equal(41 , array_reduceRight(array, func (" addition_fr" ), 20 )))
19
-
20
- group.newTest(" Add a integer property of all objects"
21
- , Assert.equal(143 , array_reduceRight(array2, func (" addObjAge_fr" ), 0 )))
22
-
23
- group.newTest(" Add a string property of all objects into an array"
24
- , Assert.arrayEqual(names, array_reduceRight(array2, func (" pushObjName_fr" ), [])))
25
-
26
-
27
-
28
- addition_fr (a, b ) {
29
- return a + b
30
- }
31
-
32
- maximum_fr (max, cur ) {
33
- return ((max > cur) ? max : cur)
34
- }
17
+ , Assert.equal(41 , array_reduceRight(array, func (" addition" ), 20 )))
35
18
36
- addObjAge_fr (total, obj ) {
37
- return total + obj.age
38
- }
19
+ group.newTest(" Sum a property of all objects"
20
+ , Assert.equal(143 , array_reduceRight(array2, func (" objProp_addition" ).bind(" age" ), 0 )))
39
21
40
- pushObjName_fr (names, obj ) {
41
- names.push(obj.name )
42
- return names
43
- }
22
+ group.newTest(" Copy a string property of all objects into an array"
23
+ , Assert.arrayEqual(names, array_reduceRight(array2, func (" objProp_arrayPush" ).bind(" name" ), [])))
0 commit comments