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

package configuration

import (
	"io"
	"strings"
	"testing"
)

func TestWrite(t *testing.T) {

	config := ConfigStruct2{
		A: "AXXX",
		F: 99,
	}
	s := New(config)

	// not implemented , Toml, Properties
	for _, f := range []Format{Yaml, Json} {
		w := strings.Builder{}
		x := io.Writer(&w)

		s.Write(x, f)

		if s.HasErrors() {
			t.Error(s.Errors())
			s.ResetErrors()
			continue
		}

		if w.String() == "" {
			t.Error("Expected not empty")
		}

		content := w.String()

		if f == Yaml {

			if strings.Contains(content, "AXXX") == false {
				t.Error("Expected AXXX")
			}

			if strings.Contains(content, "B: false") == false {
				t.Error("Expected not B: false got ", w.String())
			}

			if strings.Contains(content, "F: 99") == false {
				t.Error("Expected not F: 99 got ", w.String())
			}
		} else if f == Json {

		}
	}

}