package safeint

import (
	"testing"
)

/*
	Тест для безопасного целого
*/

// Тестер для безопасного целого
type tester struct {
	t  *testing.T
	si *SafeInt
}

func TestSafeInt(t *testing.T) {
	test := &tester{
		t: t,
	}
	test.create()
	test.set()
}

// Установка значения
func (sf *tester) set() {
	sf.t.Logf("=set=\n")
	sf.si.Set(-8)
	if val := sf.si.Get(); val != -8 {
		sf.t.Errorf("create(): val(%d)!=-8\n", val)
	}
}

// Создание целого
func (sf *tester) create() {
	sf.t.Logf("=create=\n")
	sf.si = NewSafeInt()
	if sf.si == nil {
		sf.t.Errorf("create(): safeInt==nil\n")
	}
	if val := sf.si.Get(); val != 0 {
		sf.t.Errorf("create(): val(%d)!=0\n", val)
	}
}
