Skip to content

Commit

Permalink
tests: restore interfaces_map_test (#15019)
Browse files Browse the repository at this point in the history
  • Loading branch information
yuyi98 committed Jul 11, 2022
1 parent a6cc4c4 commit 81d694b
Showing 1 changed file with 27 additions and 19 deletions.
46 changes: 27 additions & 19 deletions vlib/v/tests/interfaces_map_test.v
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@ interface Speaker {
say() string
}

fn test_todo() {}

/*
// QTODO
struct ChatRoom {
mut:
talkers map[string]Speaker
}

fn new_room() &ChatRoom {
return &ChatRoom{
talkers: map[string]Speaker
talkers: map[string]Speaker{}
}
}

Expand All @@ -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
}
Expand All @@ -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"'
}

0 comments on commit 81d694b

Please sign in to comment.