mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
Revert "tests: add more tests on interfaces "
This reverts commit 538662d99a
.
This commit is contained in:
parent
aacc35db19
commit
2618b4fbd3
@ -30,9 +30,9 @@ fn (c mut Cat) set_breed(new string) {
|
|||||||
c.breed = new
|
c.breed = new
|
||||||
}
|
}
|
||||||
|
|
||||||
// utility function to override default convert to string, as a sample
|
// utility function to convert to string, as a sample
|
||||||
fn (c Cat) str() string {
|
fn (c Cat) str() string {
|
||||||
return 'Custom string conversion for Cat: $c.breed'
|
return 'Cat: $c.breed'
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (d Dog) speak(s string) {
|
fn (d Dog) speak(s string) {
|
||||||
@ -53,8 +53,7 @@ fn (d mut Dog) set_breed(new string) {
|
|||||||
println('Nah')
|
println('Nah')
|
||||||
}
|
}
|
||||||
|
|
||||||
// do not add to Dog the utility function 'str', so the default one will be used, as a sample
|
// do not add to Dog the utility function 'str', as a sample
|
||||||
|
|
||||||
fn test_todo() {
|
fn test_todo() {
|
||||||
if true {
|
if true {
|
||||||
} else {
|
} else {
|
||||||
@ -66,9 +65,10 @@ fn perform_speak(a Animal) {
|
|||||||
assert true
|
assert true
|
||||||
name := a.name()
|
name := a.name()
|
||||||
assert name == 'Dog' || name == 'Cat'
|
assert name == 'Dog' || name == 'Cat'
|
||||||
|
// if a is Dog {
|
||||||
|
// assert name == 'Dog'
|
||||||
|
// }
|
||||||
println(a.name())
|
println(a.name())
|
||||||
println('Got animal of type: ${typeof(a)}') // TODO: get implementation type (if possible)
|
|
||||||
// assert a is Dog || a is Cat // TODO: enable when available
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn perform_speak_on_ptr(a &Animal) {
|
fn perform_speak_on_ptr(a &Animal) {
|
||||||
@ -130,36 +130,22 @@ fn test_perform_name_detailed() {
|
|||||||
dog := Dog{
|
dog := Dog{
|
||||||
breed: 'Labrador Retriever'
|
breed: 'Labrador Retriever'
|
||||||
}
|
}
|
||||||
println('Test on Dog: "$dog" ...') // using default conversion to string
|
println('Test on Dog: $dog ...')
|
||||||
perform_name_detailed(dog)
|
perform_name_detailed(dog)
|
||||||
cat := Cat{}
|
cat := Cat{}
|
||||||
println('Test on empty Cat: "$cat" ...')
|
println('Test on Cat: $cat ...')
|
||||||
perform_speak(cat)
|
perform_speak(cat)
|
||||||
println('Test on a Persian Cat: ...')
|
println('Test on another Cat: ...')
|
||||||
perform_speak(Cat{
|
perform_speak(Cat{
|
||||||
breed: 'Persian'
|
breed: 'Persian'
|
||||||
})
|
})
|
||||||
cat_persian2 := Cat{
|
|
||||||
breed: 'Persian'
|
|
||||||
}
|
|
||||||
println('Test on another Persian Cat: "$cat_persian2" ...')
|
|
||||||
perform_speak(cat_persian2)
|
|
||||||
cat_persian2_str := cat_persian2.str()
|
|
||||||
println("Persian Cat 2: '$cat_persian2_str' ...")
|
|
||||||
assert cat_persian2_str == "Custom string conversion for Cat: Persian"
|
|
||||||
|
|
||||||
println('Test (dummy/empty) on array of animals ...')
|
println('Test (dummy/empty) on array of animals ...')
|
||||||
handle_animals([dog, cat])
|
handle_animals([dog, cat])
|
||||||
handle_animals_mutable([dog, cat])
|
|
||||||
assert true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_animals(a []Animal) {
|
fn handle_animals(a []Animal) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_animals_mutable(mut a []Animal) {
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Register {
|
interface Register {
|
||||||
register()
|
register()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user