001    /*
002     * Copyright 2002 - 2010 JEuclid, http://jeuclid.sf.net
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     */
016    
017    /* $Id: OperatorDictTest.java,v 92b6a7c39d7f 2010/08/11 20:23:17 max $ */
018    
019    package net.sourceforge.jeuclid.test;
020    
021    import net.sourceforge.jeuclid.elements.support.operatordict.OperatorDictionary;
022    import net.sourceforge.jeuclid.elements.support.operatordict.OperatorDictionary2;
023    import net.sourceforge.jeuclid.elements.support.operatordict.OperatorDictionary3;
024    import net.sourceforge.jeuclid.elements.support.operatordict.UnknownAttributeException;
025    
026    import org.junit.Assert;
027    import org.junit.Test;
028    
029    /**
030     * Tests the OperatorDict class.
031     *
032     * @version $Revision: 92b6a7c39d7f $
033     */
034    public class OperatorDictTest {
035        /**
036         * Default Constructor.
037         */
038        public OperatorDictTest() {
039            // Empty on purpose
040        }
041    
042        /**
043         * Test various operators for correct default values.
044         *
045         * @throws Exception
046         *             if the test fails.
047         */
048        @Test
049        public void testAttrs2() throws Exception {
050            final OperatorDictionary opDict = OperatorDictionary2.getInstance();
051            Assert.assertEquals(opDict.getDefaultAttributeValue("\u002d", "infix",
052                    "lspace"), "mediummathspace");
053            Assert.assertEquals(opDict.getDefaultAttributeValue("\u002d", "prefix",
054                    "lspace"), "0em");
055            Assert.assertEquals(opDict.getDefaultAttributeValue("\u002d",
056                    "postfix", "lspace"), "verythinmathspace");
057            Assert.assertEquals(opDict.getDefaultAttributeValue("\u0028", "prefix",
058                    "lspace"), "0em");
059            Assert.assertEquals(opDict.getDefaultAttributeValue("\u0028", "infix",
060                    "lspace"), "0em");
061            Assert.assertEquals(opDict.getDefaultAttributeValue("\u0028",
062                    "postfix", "lspace"), "0em");
063            Assert.assertEquals(opDict.getDefaultAttributeValue("\u2063", "infix",
064                    "rspace"), "0em");
065            Assert.assertEquals(opDict.getDefaultAttributeValue("\u2063",
066                    "postfix", "rspace"), "0em");
067            Assert.assertEquals(opDict.getDefaultAttributeValue("\u2063", "infix",
068                    "fence"), "false");
069            try {
070                opDict.getDefaultAttributeValue("\u2063", "infix", "foobar");
071                Assert.fail("foobar should throw UnknownAttributeException!");
072            } catch (final UnknownAttributeException uae) {
073                // Ignore
074            }
075        }
076    
077        /**
078         * Test various operators for correct default values.
079         *
080         * @throws Exception
081         *             if the test fails.
082         */
083        @Test
084        public void testAttrs3() throws Exception {
085            final OperatorDictionary opDict = OperatorDictionary3.getInstance();
086            Assert.assertEquals(opDict.getDefaultAttributeValue("\u002d", "infix",
087                    "lspace"), "mediummathspace");
088            Assert.assertEquals(opDict.getDefaultAttributeValue("\u002d", "prefix",
089                    "lspace"), "mediummathspace");
090            Assert.assertEquals(opDict.getDefaultAttributeValue("\u002d",
091                    "postfix", "lspace"), "mediummathspace");
092            Assert.assertEquals(opDict.getDefaultAttributeValue("\u0028", "prefix",
093                    "lspace"), "0em");
094            Assert.assertEquals(opDict.getDefaultAttributeValue("\u0028", "infix",
095                    "lspace"), "0em");
096            Assert.assertEquals(opDict.getDefaultAttributeValue("\u0028",
097                    "postfix", "lspace"), "0em");
098            Assert.assertEquals(opDict.getDefaultAttributeValue("\u2063", "infix",
099                    "rspace"), "0em");
100            Assert.assertEquals(opDict.getDefaultAttributeValue("\u2063",
101                    "postfix", "rspace"), "0em");
102            Assert.assertEquals(opDict.getDefaultAttributeValue("\u2063", "infix",
103                    "fence"), "false");
104            try {
105                opDict.getDefaultAttributeValue("\u2063", "infix", "foobar");
106                Assert.fail("foobar should throw UnknownAttributeException!");
107            } catch (final UnknownAttributeException uae) {
108                // Ignore
109            }
110        }
111    }