// Copyright 2022 schukai GmbH
// SPDX-License-Identifier: AGPL-3.0-or-later

package configuration

import (
	"bytes"
	"io"
	"testing"
)

func TestAddReader(t *testing.T) {
	var config ConfigStruct2
	s := New(&config)

	if s == nil {
		t.Error("Expected not nil")
	}

	var buf bytes.Buffer
	buf.WriteString("A: a\n")
	r := (io.Reader)(&buf)

	s.AddReader(r, Yaml)
	if len(s.stream.readers) != 1 {
		t.Error("Expected 1")
	}
}

//func TestAddWriter(t *testing.T) {
//	var config ConfigStruct2
//	s := New(&config)
//
//	if s == nil {
//		t.Error("Expected not nil")
//	}
//
//	var buf bytes.Buffer
//	w := (io.Writer)(&buf)
//
//	s.AddWriter(w, Yaml)
//	if len(s.stream.writers) != 1 {
//		t.Error("Expected 1")
//	}
//}

//func TestAddStream(t *testing.T) {
//	var config ConfigStruct2
//	s := New(&config)
//
//	if s == nil {
//		t.Error("Expected not nil")
//	}
//
//	var buf bytes.Buffer
//	sr := (io.ReadWriter)(&buf)
//
//	s.AddStream(sr, Yaml)
//	if len(s.stream.readers) != 1 {
//		t.Error("Expected 1")
//	}
//	if len(s.stream.writers) != 1 {
//		t.Error("Expected 1")
//	}
//}

//func TestAddPropertyStream(t *testing.T) {
//	var config ConfigStruct4
//	s := New(config)
//
//	if s == nil {
//		t.Error("Expected not nil")
//	}
//
//	var buf bytes.Buffer
//	buf.WriteString("A=a\n")
//	sr := (io.ReadWriter)(&buf)
//
//	s.AddStream(sr, Properties)
//	if len(s.stream.readers) != 1 {
//		t.Error("Expected 1")
//	}
//	if len(s.stream.writers) != 1 {
//		t.Error("Expected 1")
//	}
//
//	s.Import()
//
//	if s.HasErrors() {
//		t.Error("Expected no errors but got ", s.Errors())
//	}
//
//	b := s.Config()
//	if b.A != "a" {
//		t.Error("Expected a")
//	}
//
//}