001/*
002 * Copyright 2015 DuraSpace, Inc.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.fcrepo.http.commons.domain;
017
018import static com.google.common.collect.Sets.newHashSet;
019import static org.junit.Assert.assertEquals;
020import static org.junit.Assert.assertTrue;
021
022import java.text.ParseException;
023
024import org.junit.Test;
025
026
027/**
028 * @author ajs6f
029 * @since 30 Oct 2014
030 *
031 */
032public class MultiPreferTest extends SinglePreferTest {
033
034    @Override
035    protected SinglePrefer createTestPreferTypeFromHeader(final String header) throws ParseException {
036        return new MultiPrefer(header);
037    }
038
039    @Test
040    public void testMultiConstructor() throws ParseException {
041        final SinglePrefer first = new SinglePrefer("return=representation");
042        final SinglePrefer second = new SinglePrefer("handling=strict");
043        final MultiPrefer testPrefer = new MultiPrefer(newHashSet(first, second));
044        // check to see that both headers were parsed
045        assertTrue(testPrefer.hasReturn());
046        assertEquals("representation", testPrefer.getReturn().getValue());
047        assertTrue(testPrefer.hasHandling());
048    }
049}