mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-04 06:54:45 +08:00
65 lines
1006 B
Go
65 lines
1006 B
Go
package blueprint
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
type Entrance_IntParam struct {
|
|
BaseExecNode
|
|
}
|
|
|
|
func (em *Entrance_IntParam) GetName() string {
|
|
return "Entrance_IntParam"
|
|
}
|
|
|
|
func (em *Entrance_IntParam) Exec() (int, error) {
|
|
return 0, nil
|
|
}
|
|
|
|
type Output struct {
|
|
BaseExecNode
|
|
}
|
|
|
|
func (em *Output) GetName() string {
|
|
return "Output"
|
|
}
|
|
|
|
func (em *Output) Exec() (int, error) {
|
|
val, ok := em.GetInPortInt(1)
|
|
if !ok {
|
|
return 0, fmt.Errorf("Output Exec inParam not found")
|
|
}
|
|
|
|
fmt.Printf("Output Exec inParam %d", val)
|
|
return 0, nil
|
|
}
|
|
|
|
func OnRegister(bm *ExecPool) error {
|
|
bm.Register(&Entrance_IntParam{})
|
|
bm.Register(&Output{})
|
|
return nil
|
|
}
|
|
|
|
const (
|
|
EntranceID_IntParam = 3
|
|
)
|
|
|
|
func TestExecMgr(t *testing.T) {
|
|
//
|
|
var bp Blueprint
|
|
err := bp.Init("./json/", "./vgf/", OnRegister)
|
|
if err != nil {
|
|
t.Fatalf("init failed,err:%v", err)
|
|
}
|
|
|
|
graph := bp.Create("test1")
|
|
|
|
err = graph.Do(EntranceID_IntParam, 1, 2, 3)
|
|
if err != nil {
|
|
t.Fatalf("do failed,err:%v", err)
|
|
}
|
|
|
|
graph.Release()
|
|
}
|