-
Notifications
You must be signed in to change notification settings - Fork 0
/
block_parser_test.go
48 lines (41 loc) · 1.68 KB
/
block_parser_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package textractor
import (
"testing"
"github.com/aws/aws-sdk-go-v2/service/textract/types"
"github.com/stretchr/testify/assert"
)
func TestFilterRelationshipIDsByType(t *testing.T) {
// Create a sample block with relationships
block := types.Block{
Relationships: []types.Relationship{
{Type: "friend", Ids: []string{"id1", "id2"}},
{Type: "family", Ids: []string{"id3", "id4"}},
{Type: "friend", Ids: []string{"id5", "id6"}},
{Type: "colleague", Ids: []string{"id7", "id8"}},
},
}
// Test case 1: Filter for "friend" relationships
t.Run("FilterFriendRelationships", func(t *testing.T) {
expected := []string{"id1", "id2", "id5", "id6"}
result := filterRelationshipIDsByType(block, "friend")
assert.ElementsMatch(t, expected, result, "Failed to filter friend relationships")
})
// Test case 2: Filter for "family" relationships
t.Run("FilterFamilyRelationships", func(t *testing.T) {
expected := []string{"id3", "id4"}
result := filterRelationshipIDsByType(block, "family")
assert.ElementsMatch(t, expected, result, "Failed to filter family relationships")
})
// Test case 3: Filter for "colleague" relationships
t.Run("FilterColleagueRelationships", func(t *testing.T) {
expected := []string{"id7", "id8"}
result := filterRelationshipIDsByType(block, "colleague")
assert.ElementsMatch(t, expected, result, "Failed to filter colleague relationships")
})
// Test case 4: Filter for non-existent relationship type
t.Run("FilterNonExistentRelationships", func(t *testing.T) {
expected := []string{}
result := filterRelationshipIDsByType(block, "nonexistent")
assert.ElementsMatch(t, expected, result, "Failed to handle non-existent relationship type")
})
}