From 9bb78748bec0a4cf7496720277cb76214b9f078b Mon Sep 17 00:00:00 2001 From: Winni Neessen Date: Thu, 14 Mar 2024 21:39:48 +0100 Subject: [PATCH] Add test for excluded characters in config A new unit test has been added to verify GetCharRangeFromConfig() function. The test ensures that the function properly excludes configured characters from the generated range. --- random_test.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/random_test.go b/random_test.go index 3528783..9aa61c2 100644 --- a/random_test.go +++ b/random_test.go @@ -220,6 +220,23 @@ func TestGetCharRangeFromConfig(t *testing.T) { } } +func TestGetCharRangeFromConfig_ExcludeChar(t *testing.T) { + defaultConf := NewConfig() + defaultGen := New(defaultConf) + defaultRange := defaultGen.GetCharRangeFromConfig() + defaultRange = strings.ReplaceAll(defaultRange, "a", "") + defaultRange = strings.ReplaceAll(defaultRange, "b", "") + + config := NewConfig(WithExcludeChars("ab")) + generator := New(config) + excludeRange := generator.GetCharRangeFromConfig() + + if excludeRange != defaultRange { + t.Errorf("GetCharRangeFromConfig(WithExcludeChars()) failed. Expected"+ + "char range: %s, got: %s", defaultRange, excludeRange) + } +} + func TestGetPasswordLength(t *testing.T) { config := NewConfig() generator := New(config)