1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/v/tests/interface_auto_str_gen_test.v

51 lines
650 B
V

struct Dog {
breed string
}
struct Cat {
breed string
}
interface Animal {
breed string
}
fn test_auto_str_gen_for_interfaces() {
x := Animal(Cat{'Siamese'})
assert '${x}' == "
Animal(Cat{
breed: 'Siamese'
})
".trim_space()
}
struct Holder {
x Animal
}
struct Holder2 {
x map[string]Holder
breed string
}
fn test_auto_str_gen_for_complex_interface_types() {
a := Animal(Dog{'hi'})
h := Holder{a}
m := {
'dsa': h
}
h2 := Holder2{m, 'N/A'}
a2 := Animal(h2)
assert '${a2}' == r"
Animal(Holder2{
x: {'dsa': Holder{
x: Animal(Dog{
breed: 'hi'
})
}}
breed: 'N/A'
})
".trim_space()
}