/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* $Id$ */ package org.apache.fop.pdf; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class PDFAModeTestCase { private static class PDFAModeChecker { private final PDFAMode mode; PDFAModeChecker(PDFAMode mode) { this.mode = mode; } PDFAModeChecker isEnabled() { assertTrue(mode.isEnabled()); return this; } PDFAModeChecker isDisabled() { assertFalse(mode.isEnabled()); return this; } PDFAModeChecker isPart1() { assertEquals(1, mode.getPart()); assertTrue(mode.isPart1()); return this; } PDFAModeChecker isNotPart1() { assertFalse(mode.getPart() == 1); assertFalse(mode.isPart1()); return this; } PDFAModeChecker isPart2() { assertTrue(mode.getPart() == 1 || mode.getPart() == 2); assertTrue(mode.isPart2()); return this; } PDFAModeChecker isNotPart2() { assertFalse(mode.getPart() == 2); assertFalse(mode.isPart2()); return this; } PDFAModeChecker hasConformanceLevel(char level) { assertEquals(level, mode.getConformanceLevel()); return this; } PDFAModeChecker isLevelA() { assertEquals('A', mode.getConformanceLevel()); assertTrue(mode.isLevelA()); return this; } PDFAModeChecker isNotLevelA() { assertFalse(mode.getConformanceLevel() == 'A'); assertFalse(mode.isLevelA()); return this; } } @Test public void checkDisabled() { new PDFAModeChecker(PDFAMode.DISABLED) .isDisabled() .isNotPart1() .isNotPart2() .isNotLevelA(); } @Test public void checkPDFA1a() { new PDFAModeChecker(PDFAMode.PDFA_1A) .isEnabled() .isPart1() .isPart2() .isLevelA(); } @Test public void checkPDFA1b() { new PDFAModeChecker(PDFAMode.PDFA_1B) .isEnabled() .isPart1() .isPart2() .isNotLevelA(); } @Test public void checkPDFA2a() { new PDFAModeChecker(PDFAMode.PDFA_2A) .isEnabled() .isNotPart1() .isPart2() .isLevelA(); } @Test public void checkPDFA2b() { new PDFAModeChecker(PDFAMode.PDFA_2B) .isEnabled() .isNotPart1() .isPart2() .isNotLevelA(); } @Test public void checkPDFA2u() { new PDFAModeChecker(PDFAMode.PDFA_2U) .isEnabled() .isNotPart1() .isPart2() .isNotLevelA() .hasConformanceLevel('U'); } }