mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
package main |
|
|
|
import ( |
|
"testing" |
|
|
|
"github.com/01-edu/z01" |
|
) |
|
|
|
func TestGrouping(t *testing.T) { |
|
type args struct { |
|
first string |
|
second string |
|
} |
|
|
|
arr := []args{ |
|
{first: "(a)", |
|
second: "I'm heavyjumpsuit is on steady, Lighter when I'm lower, higher when I'm heavy"}, |
|
|
|
{first: "(e|n)", second: "I currently have 4 windows opened up… and I don’t know why."}, |
|
{first: "(hi)", second: "He swore he just saw his sushi move."}, |
|
{first: "(s)", second: ""}, |
|
{first: "i", second: "Something in the air"}, |
|
} |
|
|
|
for i := 0; i < 2; i++ { |
|
helper := args{first: validRegExp(2), second: validString(60)} |
|
arr = append(arr, helper) |
|
} |
|
helper := args{first: validRegExp(6), second: validString(60)} |
|
arr = append(arr, helper) |
|
|
|
helper = args{first: z01.RandStr(1, "axyz"), second: z01.RandStr(10, "axyzdassbzzxxxyy cdq ")} |
|
arr = append(arr, helper) |
|
|
|
for _, s := range arr { |
|
z01.ChallengeMainExam(t, s.first, s.second) |
|
} |
|
} |
|
|
|
func validString(len int) string { |
|
s := z01.RandStr(len, "abcdefijklmnopqrstyz ") |
|
return s |
|
} |
|
|
|
func validRegExp(n int) string { |
|
result := "(" |
|
|
|
for i := 0; i < n; i++ { |
|
result += string(z01.RandStr(1, "abcdefijklmnopqrstyz")) |
|
if z01.RandInt()%2 == 0 { |
|
result += string(z01.RandStr(1, "abcdefijklmnopqrstyz")) |
|
} |
|
if i != n-1 { |
|
result += "|" |
|
} |
|
} |
|
|
|
result += ")" |
|
return result |
|
}
|
|
|