1b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov/**
211a89b445f3bde56bf07e6a0d04f0b0256dcb215Andrey Somov * Copyright (c) 2008, http://www.snakeyaml.org
3b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *
4b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * Licensed under the Apache License, Version 2.0 (the "License");
5b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * you may not use this file except in compliance with the License.
6b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * You may obtain a copy of the License at
7b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *
8b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *     http://www.apache.org/licenses/LICENSE-2.0
9b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov *
10b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * Unless required by applicable law or agreed to in writing, software
11b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * distributed under the License is distributed on an "AS IS" BASIS,
12b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * See the License for the specific language governing permissions and
14b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov * limitations under the License.
15b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov */
16b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovpackage org.yaml.snakeyaml.types;
17b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
18b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovimport java.util.Map;
19b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovimport java.util.Set;
20b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
21b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovimport org.yaml.snakeyaml.YamlDocument;
22b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
23b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov/**
240d45790da742a74840302744e8bbe9ad4d93af90Andrey Somov * @see <a href="http://yaml.org/type/set.html"></a>
25b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov */
26b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somovpublic class SetTagTest extends AbstractTest {
27b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov
28b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    @SuppressWarnings("unchecked")
29b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    public void testSet() {
30b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        YamlDocument document = new YamlDocument("types/set.yaml");
31b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        Map<String, Set<String>> map = (Map<String, Set<String>>) document.getNativeData();
32b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals(2, map.size());
33b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        Set<String> set1 = (Set<String>) map.get("baseball players");
34b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals(3, set1.size());
35b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertTrue(set1.contains("Mark McGwire"));
36b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertTrue(set1.contains("Sammy Sosa"));
37b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertTrue(set1.contains("Ken Griffey"));
38b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        //
39b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        Set<String> set2 = (Set<String>) map.get("baseball teams");
40b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertEquals(3, set2.size());
41b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertTrue(set2.contains("Boston Red Sox"));
42b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertTrue(set2.contains("Detroit Tigers"));
43b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov        assertTrue(set2.contains("New York Yankees"));
44b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov    }
45b5f4ec3dfb1a49968ebcc1243da10af9a2dc54a2Andrey Somov}
46