package main

import (
	"fmt"
	"golang.source-fellows.com/pattern/options-pattern/pkg/model"
)

func main() {
	fmt.Println("Building...")

	computerBuilder := model.NewComputerBuilder()
	computerBuilder.SetRamInGB(20)
	computerBuilder.SetCPU("amd")
	computer := computerBuilder.Build()

	fmt.Printf("%+v\n", computer)

	manualBuilder := model.NewManualBuilder()
	manualBuilder.SetRamInGB(20)
	manualBuilder.SetCPU("amd")
	manual := manualBuilder.Build()

	fmt.Println(manual)

	director := model.NewComputerDirector()

	builder := model.NewComputerBuilder()
	director.BuildStandardOfficePC(builder)
	fmt.Println(builder.Build())

}
