github.com/cobalt77/jfrog-client-go@v0.14.5/utils/parenthesesutils_test.go (about)

     1  package utils
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  )
     7  
     8  func TestSortNoDuplicates(t *testing.T) {
     9  	got := []int{3, 2, 1, 4, 3, 2, 1, 4, 1}
    10  	beforSsortNoDuplicates := got
    11  	sortNoDuplicates(&got)
    12  	want := []int{1, 2, 3, 4}
    13  	if !reflect.DeepEqual(got, want) {
    14  		t.Errorf("sortNoDuplicates(%v) == %v, want %v", beforSsortNoDuplicates, got, want)
    15  	}
    16  }
    17  
    18  func TestFindParentheses(t *testing.T) {
    19  	pattern := "(a/(b)"
    20  	target := "{1}"
    21  	got := findParentheses(pattern, target)
    22  	want := []Parentheses{{3, 5}}
    23  	if !reflect.DeepEqual(got, want) {
    24  		t.Errorf("sortNoDuplicates(%s, %s) == %v, want %v", pattern, target, got, want)
    25  	}
    26  
    27  	pattern = "(a/(b"
    28  	target = "{1}"
    29  	got = findParentheses(pattern, target)
    30  	if len(got) != 0 {
    31  		t.Errorf("sortNoDuplicates(%s, %s) == %v, want []]", pattern, target, got)
    32  	}
    33  
    34  	pattern = "(a/(b)"
    35  	target = "{1"
    36  	got = findParentheses(pattern, target)
    37  	if len(got) != 0 {
    38  		t.Errorf("sortNoDuplicates(%s, %s) == %v, want []]", pattern, target, got)
    39  	}
    40  
    41  	pattern = "(a)/(b)"
    42  	target = "{1}/{2}"
    43  	got = findParentheses(pattern, target)
    44  	want = []Parentheses{{0, 2}, {4, 6}}
    45  	if !reflect.DeepEqual(got, want) {
    46  		t.Errorf("sortNoDuplicates(%s, %s) == %v, want %v", pattern, target, got, want)
    47  	}
    48  
    49  	pattern = "(a)养只/(b)"
    50  	target = "{1}/{2}"
    51  	got = findParentheses(pattern, target)
    52  	want = []Parentheses{{0, 2}, {10, 12}}
    53  	if !reflect.DeepEqual(got, want) {
    54  		t.Errorf("sortNoDuplicates(%s, %s) == %v, want %v", pattern, target, got, want)
    55  	}
    56  }
    57  
    58  func TestGetPlaceHoldersValues(t *testing.T) {
    59  	target := "{1} {2}/{3}[4]{"
    60  	got := getPlaceHoldersValues(target)
    61  	want := []int{1, 2, 3}
    62  	if !reflect.DeepEqual(got, want) {
    63  		t.Errorf("sortNoDuplicates(%v) == %v, want %v", target, got, want)
    64  	}
    65  }