Package org.jasig.portal.layout.dlm.providers

Source Code of org.jasig.portal.layout.dlm.providers.ParenTest$NoUsersEvaluatorFactory

/**
* Licensed to Jasig under one or more contributor license
* agreements. See the NOTICE file distributed with this work
* for additional information regarding copyright ownership.
* Jasig 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.
*/

package org.jasig.portal.layout.dlm.providers;

import junit.framework.TestCase;

import org.dom4j.Element;
import org.jasig.portal.layout.dlm.Evaluator;
import org.jasig.portal.layout.dlm.EvaluatorFactory;
import org.jasig.portal.security.IPerson;
import org.jasig.portal.security.provider.PersonImpl;

public class ParenTest extends TestCase {

    public void testIsApplicable() {
       
        IPerson p = new PersonImpl();
       
        // Paren.Type.OR...
        Paren orParen = new Paren(Paren.Type.OR);
        orParen.addEvaluator(new AllUsersEvaluatorFactory());
        assertTrue("true should make true", orParen.isApplicable(p));
        orParen.addEvaluator(new NoUsersEvaluatorFactory());
        assertTrue("true + false should make true", orParen.isApplicable(p));
        orParen = new Paren(Paren.Type.OR);
        orParen.addEvaluator(new NoUsersEvaluatorFactory());
        assertFalse("false should make false", orParen.isApplicable(p));
       
        // Paren.Type.AND...
        Paren andParen = new Paren(Paren.Type.AND);
        andParen.addEvaluator(new AllUsersEvaluatorFactory());
        assertTrue("true should make true", andParen.isApplicable(p));
        andParen.addEvaluator(new NoUsersEvaluatorFactory());
        assertFalse("true + false should make false", andParen.isApplicable(p));

        // Paren.Type.NOT...
        Paren notParen = new Paren(Paren.Type.NOT);
        notParen.addEvaluator(new AllUsersEvaluatorFactory());
        assertFalse("true should make false", notParen.isApplicable(p));
        notParen = new Paren(Paren.Type.NOT);
        notParen.addEvaluator(new NoUsersEvaluatorFactory());
        assertTrue("false should make true", notParen.isApplicable(p));

    }
   
    private static class NoUsersEvaluatorFactory extends Evaluator {

        @Override
        public Class<? extends EvaluatorFactory> getFactoryClass() {
            throw new UnsupportedOperationException();
        }

        @Override
        public boolean isApplicable(IPerson person) {
            return false;
        }

        @Override
        public void toElement(Element parent) {
            throw new UnsupportedOperationException();
        }
       
    }

}
TOP

Related Classes of org.jasig.portal.layout.dlm.providers.ParenTest$NoUsersEvaluatorFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.