/* * Copyright 2004-2009 the original author or authors. * * 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.apache.lucene.store.jdbc; import junit.framework.TestCase; import org.apache.lucene.store.jdbc.handler.MarkDeleteFileEntryHandler; import org.apache.lucene.store.jdbc.index.FetchOnBufferReadJdbcIndexInput; import org.apache.lucene.store.jdbc.index.RAMAndFileJdbcIndexOutput; /** * @author kimchy */ public class JdbcFileEntrySettingsTests extends TestCase { public void testDefaultSettings() throws Exception { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); assertEquals(3, settings.getProperties().size()); assertEquals(MarkDeleteFileEntryHandler.class, settings.getSettingAsClass(JdbcFileEntrySettings.FILE_ENTRY_HANDLER_TYPE, null)); assertEquals(FetchOnBufferReadJdbcIndexInput.class, settings.getSettingAsClass(JdbcFileEntrySettings.INDEX_INPUT_TYPE_SETTING, null)); assertEquals(RAMAndFileJdbcIndexOutput.class, settings.getSettingAsClass(JdbcFileEntrySettings.INDEX_OUTPUT_TYPE_SETTING, null)); } public void testSetting() { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); String value1 = settings.getSetting("value1"); assertNull(value1); value1 = settings.getSetting("value1", "default"); assertEquals("default", value1); settings.setSetting("value1", "val"); value1 = settings.getSetting("value1"); assertEquals("val", value1); value1 = settings.getSetting("value1", "default"); assertEquals("val", value1); } public void testSettingFloat() { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); float value1 = settings.getSettingAsFloat("value1", 0); assertEquals(0f, value1, 0.01); settings.setFloatSetting("value1", 1.1f); value1 = settings.getSettingAsFloat("value1", 0.0f); assertEquals(1.1f, value1, 0.01); } public void testSettingLong() { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); long value1 = settings.getSettingAsLong("value1", 0); assertEquals(0, value1); settings.setLongSetting("value1", 1); value1 = settings.getSettingAsLong("value1", 0); assertEquals(1, value1); } public void testSettingInt() { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); int value1 = settings.getSettingAsInt("value1", 0); assertEquals(0, value1); settings.setIntSetting("value1", 1); value1 = settings.getSettingAsInt("value1", 0); assertEquals(1, value1); } public void testSettingBoolean() { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); boolean value1 = settings.getSettingAsBoolean("value1", false); assertFalse(value1); settings.setBooleanSetting("value1", true); value1 = settings.getSettingAsBoolean("value1", false); assertTrue(value1); } public void testSettingClass() throws Exception { JdbcFileEntrySettings settings = new JdbcFileEntrySettings(); Class value1 = settings.getSettingAsClass("value1", Class.class); assertEquals(Class.class, value1); settings.setClassSetting("value1", Object.class); value1 = settings.getSettingAsClass("value1", Class.class); assertEquals(Object.class, value1); } }