Selaa lähdekoodia

SVI Добавление тестов

SVI 2 vuotta sitten
vanhempi
commit
e3cc24f1bd

+ 28 - 0
internal/module/coord/coord.go

@@ -1,2 +1,30 @@
 // package coord -- координата литеры
 package coord
+
+import (
+	мФорм "fmt"
+
+	мКстр "p78git.ddns.net/svi/odeft/internal/module/coord/coord_line"
+	мКпоз "p78git.ddns.net/svi/odeft/internal/module/coord/coord_pos"
+	мАлиас "p78git.ddns.net/svi/odeft/pkg/alias"
+)
+
+// Коорд -- координата литеры в исходном тексте
+type Коорд struct {
+	поз    *мКпоз.КоордПоз
+	строка *мКстр.КоордСтрока
+}
+
+// НовКоорд -- возвращает новую изменяемую координату
+func НовКоорд(поз мАлиас.КоордПоз, стр мАлиас.КоордСтрока) (*Коорд, error) {
+	_поз := мКпоз.НовКоордПоз(поз)
+	_стр, ош := мКстр.НовКоордСтрока(стр)
+	if ош != nil {
+		return nil, мФорм.Errorf("НовКоорд(): при создании КоордСтрока, ош=\n\t%w", ош)
+	}
+	сам := &Коорд{
+		поз:    _поз,
+		строка: _стр,
+	}
+	return сам, nil
+}

+ 48 - 0
internal/module/coord/coord_test.go

@@ -0,0 +1,48 @@
+package coord
+
+import "testing"
+
+/*
+	Тест для объекта координаты литеры
+*/
+
+type тестер struct {
+	т *testing.T
+}
+
+func TestКоорд(t *testing.T) {
+	сам := &тестер{
+		т: t,
+	}
+	сам.создать()
+}
+
+// Создаёт координату
+func (сам *тестер) создать() {
+	сам.т.Log("создать")
+	сам.создатьСбой1()
+	сам.создатьОк1()
+}
+
+func (сам *тестер) создатьОк1() {
+	сам.т.Log("создатьОк1")
+	коорд, ош := НовКоорд(0, 1)
+	if ош != nil {
+		сам.т.Fatalf("создатьОк1(): ош=%v", ош)
+	}
+	if коорд == nil {
+		сам.т.Fatalf("создатьОк1(): коорд==нил")
+	}
+}
+
+// Кривой номер строки
+func (сам *тестер) создатьСбой1() {
+	сам.т.Log("создатьСбой1")
+	коорд, ош := НовКоорд(0, 0)
+	if ош == nil {
+		сам.т.Fatalf("создатьСбой1(): ош==нил")
+	}
+	if коорд != nil {
+		сам.т.Fatalf("создатьСбой1(): коорд!=нил")
+	}
+}

+ 7 - 0
pkg/alias/alias_test.go

@@ -0,0 +1,7 @@
+package alias
+
+import (
+	"testing"
+)
+
+func TestAlias(t *testing.T) {}

+ 7 - 0
pkg/cons/cons_test.go

@@ -0,0 +1,7 @@
+package cons
+
+import (
+	"testing"
+)
+
+func TestCons(t *testing.T) {}

+ 26 - 0
pkg/types/coord.go

@@ -0,0 +1,26 @@
+// package types -- тиизация для проекта
+package types
+
+import (
+	мАлиас "p78git.ddns.net/svi/odeft/pkg/alias"
+)
+
+// ИКоордПоз -- позиция литеры в строке
+type ИКоордПоз interface {
+	// Знач -- возвращает хранимое значение
+	Знач() мАлиас.КоордПоз
+}
+
+// ИКоордСтр -- номер строки исходника
+type ИКоордСтр interface {
+	// Знач -- возвращает хранимое значение
+	Знач() мАлиас.КоордСтрока
+}
+
+// ИКоорд -- фиксированная координата литеры в исходнике
+type ИКоорд interface {
+	// Поз -- возвращает позицию литеры в строке
+	Поз() ИКоордПоз
+	// КоордСтр -- возвращает номер строки
+	КоордСтр() ИКоордСтр
+}

+ 7 - 0
pkg/types/types_test.go

@@ -0,0 +1,7 @@
+package types
+
+import (
+	"testing"
+)
+
+func TestTypes(t *testing.T) {}