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

package configuration

import (
	"os"
	"testing"
)

func Fuzz1Test(f *testing.F) {

	f.Fuzz(func(t *testing.T, a string, b bool, f int) {

		config := ConfigStruct2{
			A: a,
			B: b,
			F: f,
		}

		s := New(config)


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

		if s.Config().A != a {
			t.Error("Expected %i got %i", a, s.Config().A)
		}

		if s.Config().B != b {
			t.Error("Expected %V got %V", b, s.Config().B)
		}

		if s.Config().F != f {
			t.Error("Expected %i got %i", f, s.Config().F)
		}

		s.Write(os.Stdout, Yaml)
		if s.HasErrors() {
			t.Error(s.Errors())
			s.ResetErrors()
		}

	})
}