Преглед на файлове

v0 Добавление размеров, интерфейсов

SVI преди 3 години
родител
ревизия
038e2ae3c5

+ 6 - 0
libtui/v0/alias/alias.go

@@ -6,6 +6,12 @@ type PosX int
 // PosY -- позиция по Y
 type PosY int
 
+// SizeX -- размер по X
+type SizeX int
+
+// SizeY -- размер по Y
+type SizeY int
+
 // Фейковый метод для типа покрытия тестами
 func do() error {
 	return nil

+ 2 - 2
libtui/v0/pos/pos.go

@@ -3,8 +3,8 @@ package pos
 
 import (
 	"p78git.ddns.net/svi/libtui/alias"
-	"p78git.ddns.net/svi/libtui/posx"
-	"p78git.ddns.net/svi/libtui/posy"
+	"p78git.ddns.net/svi/libtui/pos/posx"
+	"p78git.ddns.net/svi/libtui/pos/posy"
 	"p78git.ddns.net/svi/libtui/types"
 )
 

+ 0 - 0
libtui/v0/posx/posx.go → libtui/v0/pos/posx/posx.go


+ 0 - 0
libtui/v0/posx/posx_test.go → libtui/v0/pos/posx/posx_test.go


+ 0 - 0
libtui/v0/posy/posy.go → libtui/v0/pos/posy/posy.go


+ 0 - 0
libtui/v0/posy/posy_test.go → libtui/v0/pos/posy/posy_test.go


+ 9 - 0
libtui/v0/screen/screen.go

@@ -0,0 +1,9 @@
+// package screen -- объект экрана
+package screen
+
+import "p78git.ddns.net/svi/libtui/types"
+
+// Screen -- объект экрана
+type Screen struct {
+	size types.ISize
+}

+ 6 - 0
libtui/v0/size/size.go

@@ -0,0 +1,6 @@
+// package size -- размеры объекта
+package size
+
+// Size -- размеры объекта
+type Size struct {
+}

+ 25 - 0
libtui/v0/size/sizex/sizey.go

@@ -0,0 +1,25 @@
+// package sizey -- размеры объекта по Y
+package sizey
+
+import "p78git.ddns.net/svi/libtui/alias"
+
+// SizeY -- размеры объекта по Y
+type SizeY struct {
+	val alias.SizeY
+}
+
+// NewSizeY -- возвращает новый объект размера по Y
+func NewSizeY() *SizeY {
+	sf := &SizeY{}
+	return sf
+}
+
+// Get -- возвращает хранимое значение размера по Y
+func (sf *SizeY) Get() alias.SizeY {
+	return sf.val
+}
+
+// Set -- устанавливает хранимое значение размера по Y
+func (sf *SizeY) Set(val alias.SizeY) {
+	sf.val = val
+}

+ 50 - 0
libtui/v0/size/sizex/sizey_test.go

@@ -0,0 +1,50 @@
+package sizey
+
+import (
+	"testing"
+
+	"p78git.ddns.net/svi/libtui/types"
+)
+
+/*
+	Тест для размера по Y
+*/
+
+// Тестер для размера по Y
+type tester struct {
+	t     *testing.T
+	size  *SizeY
+	isize types.ISizeY
+}
+
+func TestSizeX(t *testing.T) {
+	test := &tester{
+		t: t,
+	}
+	test.create()
+	test.set()
+}
+
+// Установка размера по Y
+func (sf *tester) set() {
+	sf.t.Logf("set")
+	sf.isize.Set(12)
+	y := sf.isize.Get()
+	if y != 12 {
+		sf.t.Fatalf("set(): y(%v)!=12", y)
+	}
+}
+
+// Создание размера по Y
+func (sf *tester) create() {
+	sf.t.Logf("create")
+	sf.size = NewSizeY()
+	if sf.size == nil {
+		sf.t.Fatalf("create(): size==nil")
+	}
+	sf.isize = sf.size
+	y := sf.isize.Get()
+	if y != 0 {
+		sf.t.Fatalf("create(): yx(%v)!=0", y)
+	}
+}

+ 25 - 0
libtui/v0/size/sizey/sizex.go

@@ -0,0 +1,25 @@
+// package sizey -- размеры объекта по Y
+package sizey
+
+import "p78git.ddns.net/svi/libtui/alias"
+
+// SizeX -- размеры объекта по Х
+type SizeX struct {
+	val alias.SizeX
+}
+
+// NewSizeX -- возвращает новый объект размера по X
+func NewSizeX() *SizeX {
+	sf := &SizeX{}
+	return sf
+}
+
+// Get -- возвращает хранимое значение размера по X
+func (sf *SizeX) Get() alias.SizeX {
+	return sf.val
+}
+
+// Set -- устанавливает хранимое значение размера по Y
+func (sf *SizeX) Set(val alias.SizeX) {
+	sf.val = val
+}

+ 50 - 0
libtui/v0/size/sizey/sizex_test.go

@@ -0,0 +1,50 @@
+package sizey
+
+import (
+	"testing"
+
+	"p78git.ddns.net/svi/libtui/types"
+)
+
+/*
+	Тест для размера по X
+*/
+
+// Тестер для размера по X
+type tester struct {
+	t     *testing.T
+	size  *SizeX
+	isize types.ISizeX
+}
+
+func TestSizeX(t *testing.T) {
+	test := &tester{
+		t: t,
+	}
+	test.create()
+	test.set()
+}
+
+// Установка размера по X
+func (sf *tester) set() {
+	sf.t.Logf("set")
+	sf.isize.Set(12)
+	x := sf.isize.Get()
+	if x != 12 {
+		sf.t.Fatalf("set(): x(%v)!=12", x)
+	}
+}
+
+// Создание размера по X
+func (sf *tester) create() {
+	sf.t.Logf("create")
+	sf.size = NewSizeX()
+	if sf.size == nil {
+		sf.t.Fatalf("create(): size==nil")
+	}
+	sf.isize = sf.size
+	x := sf.isize.Get()
+	if x != 0 {
+		sf.t.Fatalf("create(): x(%v)!=0", x)
+	}
+}

+ 15 - 0
libtui/v0/types/isize.go

@@ -0,0 +1,15 @@
+package types
+
+import "p78git.ddns.net/svi/libtui/alias"
+
+// ISize -- объект размера
+type ISize interface {
+	// Get -- возвращает размер по X и Y
+	Get() (alias.SizeX, alias.SizeY)
+	// Set -- устанавливает размер по X и Y
+	Set(alias.SizeX, alias.SizeY)
+	// X -- возвращает размер по X
+	X() ISizeX
+	// Y -- возвращает размер по Y
+	Y() ISizeY
+}

+ 11 - 0
libtui/v0/types/isizex.go

@@ -0,0 +1,11 @@
+package types
+
+import "p78git.ddns.net/svi/libtui/alias"
+
+// ISizeX -- размер по X
+type ISizeX interface {
+	// Get -- возвращает хранимое значение размера по X
+	Get() alias.SizeX
+	// Set -- устанавливает хранимое значение размера по X
+	Set(alias.SizeX)
+}

+ 11 - 0
libtui/v0/types/isizey.go

@@ -0,0 +1,11 @@
+package types
+
+import "p78git.ddns.net/svi/libtui/alias"
+
+// ISizeY -- размер по Y
+type ISizeY interface {
+	// Get -- возвращает хранимое значение размера по Y
+	Get() alias.SizeY
+	// Set -- устанавливает хранимое значение размера по Y
+	Set(alias.SizeY)
+}