/** * Copyright 2010 JBoss Inc * * Licensed 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.drools.base.extractors; import junit.framework.Assert; import org.drools.base.ClassFieldAccessorCache; import org.drools.base.ClassFieldAccessorStore; import org.drools.base.TestBean; import org.drools.spi.InternalReadAccessor; public class LongClassFieldExtractorTest extends BaseClassFieldExtractorsTest { private static final long VALUE = 5; InternalReadAccessor extractor; TestBean bean = new TestBean(); protected void setUp() throws Exception { ClassFieldAccessorStore store = new ClassFieldAccessorStore(); store.setClassFieldAccessorCache( new ClassFieldAccessorCache( Thread.currentThread().getContextClassLoader() ) ); store.setEagerWire( true ); extractor = store.getReader( TestBean.class, "longAttr", getClass().getClassLoader() ); } public void testGetBooleanValue() { try { this.extractor.getBooleanValue( null, this.bean ); fail( "Should have throw an exception" ); } catch ( final Exception e ) { // success } } public void testGetByteValue() { try { Assert.assertEquals( LongClassFieldExtractorTest.VALUE, this.extractor.getByteValue( null, this.bean ) ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testGetCharValue() { try { this.extractor.getCharValue( null, this.bean ); fail( "Should have throw an exception" ); } catch ( final Exception e ) { // success } } public void testGetDoubleValue() { try { Assert.assertEquals( LongClassFieldExtractorTest.VALUE, this.extractor.getDoubleValue( null, this.bean ), 0.01 ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testGetFloatValue() { try { Assert.assertEquals( LongClassFieldExtractorTest.VALUE, this.extractor.getFloatValue( null, this.bean ), 0.01 ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testGetIntValue() { try { Assert.assertEquals( LongClassFieldExtractorTest.VALUE, this.extractor.getIntValue( null, this.bean ) ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testGetLongValue() { try { Assert.assertEquals( LongClassFieldExtractorTest.VALUE, this.extractor.getLongValue( null, this.bean ) ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testGetShortValue() { try { Assert.assertEquals( LongClassFieldExtractorTest.VALUE, this.extractor.getShortValue( null, this.bean ) ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testGetValue() { try { Assert.assertEquals( new Long( (short) LongClassFieldExtractorTest.VALUE ), this.extractor.getValue( null, this.bean ) ); Assert.assertTrue( this.extractor.getValue( null, this.bean ) instanceof Long ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } public void testIsNullValue() { try { Assert.assertFalse( this.extractor.isNullValue( null, this.bean ) ); } catch ( final Exception e ) { fail( "Should not throw an exception" ); } } }