package kernel

import (
	"os"
	"testing"
)

// Тестер для базового объекта приложения
type tester struct {
	t    *testing.T
	err  error
	kern *Kernel
}

func TestKernel(t *testing.T) {
	test := &tester{
		t: t,
	}
	test.create()
	_ = os.RemoveAll("./log")
}

// Создание базового объекта
func (sf *tester) create() {
	sf.t.Logf("create\n")
	sf.kern, sf.err = NewKernel()
	if sf.err != nil {
		sf.t.Errorf("create(): err=\n\t%v", sf.err)
	}
	if sf.kern == nil {
		sf.t.Errorf("create(): kernel==nil\n")
	}
	if wg := sf.kern.Wg(); wg == nil {
		sf.t.Errorf("create(): wg==nil\n")
	}
	if ctx := sf.kern.CtxApp(); ctx == nil {
		sf.t.Errorf("create(): ctx==nil\n")
	}
	if slog := sf.kern.Slog(); slog == nil {
		sf.t.Errorf("create(): slog==nil\n")
	}
	sf.kern.CancelApp()
}
