mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
tests: restore interfaces_map_test (#15019)
This commit is contained in:
parent
a6cc4c4c28
commit
81d694b1f8
@ -4,10 +4,6 @@ interface Speaker {
|
||||
say() string
|
||||
}
|
||||
|
||||
fn test_todo() {}
|
||||
|
||||
/*
|
||||
// QTODO
|
||||
struct ChatRoom {
|
||||
mut:
|
||||
talkers map[string]Speaker
|
||||
@ -15,7 +11,7 @@ mut:
|
||||
|
||||
fn new_room() &ChatRoom {
|
||||
return &ChatRoom{
|
||||
talkers: map[string]Speaker
|
||||
talkers: map[string]Speaker{}
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,14 +21,14 @@ fn (mut r ChatRoom) add(name string, s Speaker) {
|
||||
|
||||
fn test_using_a_map_of_speaker_interfaces() {
|
||||
mut room := new_room()
|
||||
room.add('my cat', Cat{name: 'Tigga'} )
|
||||
room.add('my dog', Dog{name: 'Pirin'} )
|
||||
room.add('stray dog', Dog{name: 'Anoni'} )
|
||||
room.add('me', Human{name: 'Bilbo'} )
|
||||
room.add('she', Human{name: 'Maria'} )
|
||||
room.add('my cat', Cat{ name: 'Tigga' })
|
||||
room.add('my dog', Dog{ name: 'Pirin' })
|
||||
room.add('stray dog', Dog{ name: 'Anoni' })
|
||||
room.add('me', Human{ name: 'Bilbo' })
|
||||
room.add('she', Human{ name: 'Maria' })
|
||||
mut text := ''
|
||||
for name, subject in room.talkers {
|
||||
line := '${name:12s}: ${subject.say()}'
|
||||
line := '${name:12s}: $subject.say()'
|
||||
println(line)
|
||||
text += line
|
||||
}
|
||||
@ -41,14 +37,26 @@ fn test_using_a_map_of_speaker_interfaces() {
|
||||
assert text.contains(' says ')
|
||||
}
|
||||
|
||||
//
|
||||
struct Cat {
|
||||
name string
|
||||
}
|
||||
|
||||
struct Cat { name string }
|
||||
fn (c &Cat) say() string { return '${c.name} meows "MEOW!"' }
|
||||
fn (c &Cat) say() string {
|
||||
return '$c.name meows "MEOW!"'
|
||||
}
|
||||
|
||||
struct Dog { name string }
|
||||
fn (d &Dog) say() string { return '${d.name} barks "Bau Bau!"' }
|
||||
struct Dog {
|
||||
name string
|
||||
}
|
||||
|
||||
struct Human { name string }
|
||||
fn (h &Human) say() string { return '${h.name} says "Hello"' }
|
||||
*/
|
||||
fn (d &Dog) say() string {
|
||||
return '$d.name barks "Bau Bau!"'
|
||||
}
|
||||
|
||||
struct Human {
|
||||
name string
|
||||
}
|
||||
|
||||
fn (h &Human) say() string {
|
||||
return '$h.name says "Hello"'
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user