commit c1867d63d0da3a0cd0d9e15e54f57da575df44e2 Author: Marco Kittel Date: Sat Jun 7 23:26:32 2025 +0200 first commit diff --git a/intern/go.mod b/intern/go.mod new file mode 100644 index 0000000..09bc801 --- /dev/null +++ b/intern/go.mod @@ -0,0 +1,3 @@ +module gittea.marcokittel.de/Playground/Datenbank/intern + +go 1.24.3 diff --git a/intern/vertrag.go b/intern/vertrag.go new file mode 100644 index 0000000..0243d79 --- /dev/null +++ b/intern/vertrag.go @@ -0,0 +1,34 @@ +package intern + +type IVertragsRepository interface { + GetAllContracts() []Vertrag + GetContractById(id int) Vertrag +} + +type Vertrag struct { + Id int + Data string +} + +type vertragsRepository struct { + Vertraege []Vertrag +} + +func (v *vertragsRepository) GetAllContracts() []Vertrag { + return v.Vertraege +} + +func (v *vertragsRepository) GetContractById(id int) Vertrag { + return v.Vertraege[id] +} + +func NewVertragsRepository() IVertragsRepository { + con := []Vertrag{ + Vertrag{Id: 1, Data: "Kunde Kling und Bert GmbH"}, + Vertrag{Id: 2, Data: "Kunde Wäscherei Puth und Frank"}, + Vertrag{Id: 3, Data: "Sören Handwerk und Sanitär"}, + } + v := vertragsRepository{Vertraege: con} + + return &v +} diff --git a/kunde/go.mod b/kunde/go.mod new file mode 100644 index 0000000..f827678 --- /dev/null +++ b/kunde/go.mod @@ -0,0 +1,3 @@ +module gittea.marcokittel.de/Playground/Datenbank/kunde + +go 1.24.3 diff --git a/kunde/meldung.go b/kunde/meldung.go new file mode 100644 index 0000000..f54f2db --- /dev/null +++ b/kunde/meldung.go @@ -0,0 +1,30 @@ +package kunde + +type IMeldungsRepository interface { + AddAmount(menge int) + GetAllAmount() []Meldung +} + +type Meldung struct { + Id int + Data int +} + +type meldungsRepository struct { + Meldungen []Meldung + i int +} + +func (m *meldungsRepository) AddAmount(menge int) { + m.i++ + m.Meldungen = append(m.Meldungen, Meldung{Id: m.i, Data: menge}) +} + +func (m *meldungsRepository) GetAllAmount() []Meldung { + return m.Meldungen +} + +func NewMeldungsRepository() IMeldungsRepository { + m := meldungsRepository{Meldungen: make([]Meldung, 0), i: 0} + return &m +} diff --git a/kunde/meldung_test.go b/kunde/meldung_test.go new file mode 100644 index 0000000..f592d3e --- /dev/null +++ b/kunde/meldung_test.go @@ -0,0 +1,17 @@ +package kunde + +import ( + "testing" +) + +func TestMeldungRepo(t *testing.T) { + m := NewMeldungsRepository() + m.AddAmount(1) + if len(m.GetAllAmount()) != 1 || m.GetAllAmount()[0].Id != 1 { + t.Errorf("Error, Element of first Meldung should have id %d, but has %d", 1, m.GetAllAmount()[0].Id) + } + m.AddAmount(20) + if len(m.GetAllAmount()) != 2 || m.GetAllAmount()[1].Id != 2 || m.GetAllAmount()[1].Data != 20 { + t.Errorf("Error, Element of second Meldung should have id %d, but has %d, and amount should be 20, but is %d", 1, m.GetAllAmount()[0].Id, m.GetAllAmount()[1].Data) + } +}