go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/sdk/selector/not_in_test.go (about)

     1  /*
     2  
     3  Copyright (c) 2023 - Present. Will Charczuk. All rights reserved.
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     5  
     6  */
     7  
     8  package selector
     9  
    10  import (
    11  	"testing"
    12  
    13  	. "go.charczuk.com/sdk/assert"
    14  )
    15  
    16  func Test_NotIn(t *testing.T) {
    17  	valid := Labels{
    18  		"foo": "mar",
    19  		"moo": "lar",
    20  	}
    21  	invalid := Labels{
    22  		"foo": "far",
    23  		"moo": "lar",
    24  	}
    25  	missing := Labels{
    26  		"loo": "mar",
    27  		"moo": "lar",
    28  	}
    29  
    30  	selector := NotIn{Key: "foo", Values: []string{"bar", "far"}}
    31  	ItsEqual(t, true, selector.Matches(valid))
    32  	ItsEqual(t, true, selector.Matches(missing))
    33  	ItsEqual(t, false, selector.Matches(invalid))
    34  	ItsEqual(t, "foo notin (bar, far)", selector.String())
    35  }