12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- * 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.traits;
-
- import java.awt.Color;
-
- import org.junit.Test;
-
- import static org.junit.Assert.assertEquals;
-
- import org.apache.xmlgraphics.java2d.color.ColorWithAlternatives;
- import org.apache.xmlgraphics.java2d.color.DeviceCMYKColorSpace;
-
- import org.apache.fop.fo.Constants;
- import org.apache.fop.util.ColorUtil;
-
- /**
- * Tests the BorderProps class.
- */
- public class BorderPropsTestCase {
-
- /**
- * Test serialization and deserialization to/from String.
- * @throws Exception if an error occurs
- */
- @Test
- public void testSerialization() throws Exception {
- Color col = new Color(1.0f, 1.0f, 0.5f, 1.0f);
- //Normalize: Avoid false alarms due to color conversion (rounding)
- col = ColorUtil.parseColorString(null, ColorUtil.colorToString(col));
- BorderProps sut = BorderProps.makeRectangular(Constants.EN_DOUBLE, 1250, col,
- BorderProps.Mode.COLLAPSE_OUTER);
- testSerialization(sut);
-
- float[] cmyk = new float[] {1.0f, 1.0f, 0.5f, 1.0f};
- col = DeviceCMYKColorSpace.createCMYKColor(cmyk);
- //Convert to sRGB with CMYK alternative as constructed by the cmyk() function
- float[] rgb = col.getRGBColorComponents(null);
- col = new ColorWithAlternatives(rgb[0], rgb[1], rgb[2], new Color[] {col});
- sut = BorderProps.makeRectangular(Constants.EN_INSET, 9999, col, BorderProps.Mode.SEPARATE);
- testSerialization(sut);
- }
-
- /**
- * Test serialization and deserialization to/from String.
- * @throws Exception if an error occurs
- */
- @Test
- public void testSerializationWithCornerRadii() throws Exception {
- Color col = new Color(1.0f, 1.0f, 0.5f, 1.0f);
- //Normalize: Avoid false alarms due to color conversion (rounding)
- col = ColorUtil.parseColorString(null, ColorUtil.colorToString(col));
- for (BorderProps.Mode mode : BorderProps.Mode.values()) {
- BorderProps sut = BorderProps.makeRectangular(Constants.EN_SOLID, 10, col, mode);
- testSerialization(sut);
- sut = new BorderProps(Constants.EN_SOLID, 10, 4, 3, col, mode);
- testSerialization(sut);
- }
- }
-
- private void testSerialization(BorderProps borderProp) {
- assertEquals(borderProp, BorderProps.valueOf(null, borderProp.toString()));
- }
-
- }
|