~marcopolo/di

42eb43611c846ef86af91f140389243816e866b7 — Marco Munizaga 9 months ago baa3947
Add example
1 files changed, 31 insertions(+), 0 deletions(-)

M di_test.go
M di_test.go => di_test.go +31 -0
@@ 2,10 2,41 @@ package di

import (
	"errors"
	"fmt"
	"strings"
	"testing"
)

func ExampleBuild() {
	type Username string
	type Config struct {
		User     Username
		Age      int
		Greeting func(Username, int) string
	}

	cfg := Config{
		User: "Alice",
		Age:  42,
		Greeting: func(u Username, age int) string {
			return fmt.Sprintf("Hello, %s. You've been around the sun %d times!", string(u), age)
		},
	}

	type Result struct {
		Greeting string
	}
	var res Result
	err := Build(cfg, &res)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(res.Greeting)

	// Output: Hello, Alice. You've been around the sun 42 times!
}

func TestBuildSuccess(t *testing.T) {
	type A struct {
		val string