...

Source file src/go.mongodb.org/mongo-driver/tag/tag_test.go

Documentation: go.mongodb.org/mongo-driver/tag

     1  // Copyright (C) MongoDB, Inc. 2017-present.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License"); you may
     4  // not use this file except in compliance with the License. You may obtain
     5  // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
     6  
     7  package tag
     8  
     9  import (
    10  	"testing"
    11  
    12  	"go.mongodb.org/mongo-driver/internal/assert"
    13  	"go.mongodb.org/mongo-driver/internal/require"
    14  )
    15  
    16  func TestTag_String(t *testing.T) {
    17  	t.Parallel()
    18  
    19  	tag := Tag{Name: "a", Value: "1"}
    20  	assert.Equal(t, "a=1", tag.String(), `expected "a=1", got %q`, tag.String())
    21  }
    22  
    23  func TestTagSets_NewTagSet(t *testing.T) {
    24  	t.Parallel()
    25  
    26  	ts := Set{Tag{Name: "a", Value: "1"}}
    27  
    28  	require.True(t, ts.Contains("a", "1"))
    29  	require.False(t, ts.Contains("1", "a"))
    30  	require.False(t, ts.Contains("A", "1"))
    31  	require.False(t, ts.Contains("a", "10"))
    32  }
    33  
    34  func TestTagSets_NewTagSetFromMap(t *testing.T) {
    35  	t.Parallel()
    36  
    37  	ts := NewTagSetFromMap(map[string]string{"a": "1"})
    38  
    39  	require.True(t, ts.Contains("a", "1"))
    40  	require.False(t, ts.Contains("1", "a"))
    41  	require.False(t, ts.Contains("A", "1"))
    42  	require.False(t, ts.Contains("a", "10"))
    43  }
    44  
    45  func TestTagSets_NewTagSetsFromMaps(t *testing.T) {
    46  	t.Parallel()
    47  
    48  	tss := NewTagSetsFromMaps([]map[string]string{{"a": "1"}, {"b": "1"}})
    49  
    50  	require.Len(t, tss, 2)
    51  
    52  	ts := tss[0]
    53  	require.True(t, ts.Contains("a", "1"))
    54  	require.False(t, ts.Contains("1", "a"))
    55  	require.False(t, ts.Contains("A", "1"))
    56  	require.False(t, ts.Contains("a", "10"))
    57  
    58  	ts = tss[1]
    59  	require.True(t, ts.Contains("b", "1"))
    60  	require.False(t, ts.Contains("1", "b"))
    61  	require.False(t, ts.Contains("B", "1"))
    62  	require.False(t, ts.Contains("b", "10"))
    63  }
    64  
    65  func TestTagSets_ContainsAll(t *testing.T) {
    66  	t.Parallel()
    67  
    68  	ts := Set{
    69  		Tag{Name: "a", Value: "1"},
    70  		Tag{Name: "b", Value: "2"},
    71  	}
    72  
    73  	test := Set{Tag{Name: "a", Value: "1"}}
    74  	require.True(t, ts.ContainsAll(test))
    75  	test = Set{Tag{Name: "a", Value: "1"}, Tag{Name: "b", Value: "2"}}
    76  	require.True(t, ts.ContainsAll(test))
    77  	test = Set{Tag{Name: "a", Value: "1"}, Tag{Name: "b", Value: "2"}}
    78  	require.True(t, ts.ContainsAll(test))
    79  
    80  	test = Set{Tag{Name: "a", Value: "2"}, Tag{Name: "b", Value: "1"}}
    81  	require.False(t, ts.ContainsAll(test))
    82  	test = Set{Tag{Name: "a", Value: "1"}, Tag{Name: "b", Value: "1"}}
    83  	require.False(t, ts.ContainsAll(test))
    84  	test = Set{Tag{Name: "a", Value: "2"}, Tag{Name: "b", Value: "2"}}
    85  	require.False(t, ts.ContainsAll(test))
    86  }
    87  
    88  func TestTagSets_String(t *testing.T) {
    89  	t.Parallel()
    90  
    91  	ts := Set{
    92  		Tag{Name: "a", Value: "1"},
    93  		Tag{Name: "b", Value: "2"},
    94  	}
    95  	assert.Equal(t, "a=1,b=2", ts.String(), `expected "a=1,b=2", got %q`, ts.String())
    96  }
    97  

View as plain text