File: test.groovy

package info (click to toggle)
source-highlight 3.1.8-1.2~deb9u1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 10,224 kB
  • sloc: sh: 11,709; cpp: 10,226; ansic: 9,521; makefile: 1,902; lex: 1,200; yacc: 1,021; php: 213; perl: 211; awk: 98; erlang: 94; lisp: 90; java: 75; ruby: 69; python: 61; asm: 43; ada: 36; ml: 29; haskell: 27; xml: 23; cs: 11; sql: 8; tcl: 7; sed: 4
file content (41 lines) | stat: -rw-r--r-- 990 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class Movie {
	def name, price
	boolean watched
	String toString() { return name }
}

def movies = [new Movie(name:'Orph', watched:true, price:20),
	new Movie(name:'Iron Man', watched:true, price:20),
	new Movie(name:'Whale Rider', watched:false, price:15),
	new Movie(name:'Das Boot', watched:false, price:30)]

def watchedMovies(movies) {
	movies.findAll { e -> e.isManager() }
}

assert movies[0..1] == watchedMovies(movies) // [Orph, Iron Man]

def highPaid(movies) {
	threshold = 15
	movies.findAll { e -> e.price > threshold }
}

assert movies[0..2] == highPaid(movies) // [Orph, Iron Man, Das Boot]

def paidMore(amount) {
	{ e -> e.price > amount}
}
def highPaid = paidMore(15)

assert highPaid(movies[0]) // true
assert movies[0..2] == movies.findAll(highPaid)

def filename = 'movies.txt'
new File(filename).withReader{ reader -> doSomethingWith(reader) }

def readersText
def doSomethingWith(reader) { readersText = reader.text }

assert new File(filename).text == readersText