aboutsummaryrefslogtreecommitdiffstats
path: root/config-provisioning/src/test/java/com/yahoo/config/provision/TagsTest.java
blob: cbe890c2cdfc530341c5e77da447964e041f0a4c (plain) (blame)
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
49
50
51
52
53
54
55
56
57
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.provision;

import org.junit.jupiter.api.Test;

import java.util.Set;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;

/**
 * @author bratseth
 */
public class TagsTest {

    @Test
    public void testEmpty() {
        assertEquals(Tags.empty(), Tags.fromString(null));
        assertEquals(Tags.empty(), Tags.fromString(""));
        assertEquals(Tags.empty(), Tags.fromString(" "));
    }
    
    @Test
    public void testDeserialization() {
        assertEquals(new Tags(Set.of("tag1", "tag2")), Tags.fromString("  tag1     tag2  "));
    }

    @Test
    public void testSerialization() {
        Tags tags = new Tags(Set.of("a", "tag2", "3"));
        assertEquals(tags, Tags.fromString(tags.toString())); // Required by automatic serialization
        assertEquals(tags, Tags.fromString(tags.asString())); // Required by automatic serialization
    }

    @Test
    public void testContains() {
        Tags tags = new Tags(Set.of("a", "tag2", "3"));
        assertTrue(tags.contains("a"));
        assertTrue(tags.contains("tag2"));
        assertTrue(tags.contains("3"));
        assertFalse(tags.contains("other"));

        Tags subTags = new Tags(Set.of("a", "3"));
        assertTrue(tags.containsAll(subTags));
        assertFalse(subTags.containsAll(tags));
    }

    @Test
    public void testIntersects() {
        Tags tags1 = new Tags(Set.of("a", "tag2", "3"));
        Tags tags2 = new Tags(Set.of("a", "tag3"));
        assertTrue(tags1.intersects(tags2));
        assertTrue(tags2.intersects(tags1));
    }

}