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
|
package mock
import (
"testing"
"go.uber.org/mock/gomock"
"go.uber.org/mock/mockgen/internal/tests/package_mode"
"go.uber.org/mock/mockgen/internal/tests/package_mode/cars"
"go.uber.org/mock/mockgen/internal/tests/package_mode/fuel"
)
// checks, that mocks implement interfaces in compile-time.
// If something breaks, the tests will not be compiled.
var food package_mode.Food = &MockFood{}
var eater package_mode.Eater = &MockEater{}
var animal package_mode.Animal = &MockAnimal{}
var human package_mode.Human = &MockHuman{}
var primate package_mode.Primate = &MockPrimate{}
var car package_mode.Car[fuel.Gasoline] = &MockCar[fuel.Gasoline]{}
var driver package_mode.Driver[fuel.Gasoline, cars.HyundaiSolaris] = &MockDriver[fuel.Gasoline, cars.HyundaiSolaris]{}
var urbanResident package_mode.UrbanResident = &MockUrbanResident{}
var farmer package_mode.Farmer = &MockFarmer{}
func TestInterfaces(t *testing.T) {
ctrl := gomock.NewController(t)
mock := NewMockFarmer(ctrl)
mock.EXPECT().Breathe()
farmer := package_mode.Farmer(mock)
farmer.Breathe()
}
|