⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teststoragebuffer.java

📁 lucene2.2.0版本
💻 JAVA
字号:
/**  * Copyright 2004 The Apache Software Foundation  *  * 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.gdata.storage.lucenestorage;import java.io.IOException;import java.util.List;import junit.framework.TestCase;import org.apache.lucene.gdata.data.ServerBaseEntry;import org.apache.lucene.gdata.storage.lucenestorage.StorageEntryWrapper.StorageOperation;import org.apache.lucene.gdata.utils.ProvidedServiceStub;import com.google.gdata.data.DateTime;public class TestStorageBuffer extends TestCase {    private static final String FEEDID = "feed";    private static final String ENTRYID = "someID";    private StorageBuffer buffer;    protected void setUp() throws Exception {        super.setUp();        this.buffer = new StorageBuffer(10);    }    protected void tearDown() throws Exception {        this.buffer.close();    }    /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.StorageBuffer(int)'     */    public void testStorageBuffer() {        assertEquals(StorageBuffer.DEFAULT_BUFFER_COUNT,new StorageBuffer(StorageBuffer.DEFAULT_BUFFER_COUNT-1).getBufferSize());        assertEquals(StorageBuffer.DEFAULT_BUFFER_COUNT,new StorageBuffer(StorageBuffer.DEFAULT_BUFFER_COUNT).getBufferSize());        assertEquals(StorageBuffer.DEFAULT_BUFFER_COUNT+1,new StorageBuffer(StorageBuffer.DEFAULT_BUFFER_COUNT+1).getBufferSize());    }    /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.addEntry(StorageEntryWrapper)'     */    public void testAddEntry() throws IOException {                ServerBaseEntry e = createServerBaseEntry(ENTRYID,FEEDID);        StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        assertEquals(1,this.buffer.getSortedEntries(FEEDID).size());        this.buffer.addEntry(wrapper);        assertEquals(1,this.buffer.getSortedEntries(FEEDID).size());                e.setId("someotherID");        e.setFeedId(FEEDID);        e.setServiceConfig(new ProvidedServiceStub());        wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        assertEquals(2,this.buffer.getSortedEntries(FEEDID).size());        e.setId("someotherID");        e.setFeedId("someOtherFeed");        e.setServiceConfig(new ProvidedServiceStub());        wrapper = new StorageEntryWrapper(e,StorageOperation.UPDATE);        this.buffer.addEntry(wrapper);        wrapper = new StorageEntryWrapper(e,StorageOperation.DELETE);        e.setId("deleted and ingnored");        e.setFeedId("someOtherFeed");        e.setServiceConfig(new ProvidedServiceStub());        this.buffer.addEntry(wrapper);        assertEquals(2,this.buffer.getSortedEntries(FEEDID).size());        assertEquals(1,this.buffer.getSortedEntries("someOtherFeed").size());        assertEquals("Contains 2 different IDs",2,this.buffer.getExculdList().length);            }    /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.addDeleted(String, String)'     */    public void testAddDeleted() throws IOException {                this.buffer.addDeleted(ENTRYID,FEEDID);        assertNull(this.buffer.getSortedEntries(FEEDID));        assertEquals(1,this.buffer.getExculdList().length);        assertEquals(ENTRYID,this.buffer.getExculdList()[0]);                this.buffer.addDeleted(ENTRYID,FEEDID);        assertNull(this.buffer.getSortedEntries(FEEDID));        assertEquals(1,this.buffer.getExculdList().length);        assertEquals(ENTRYID,this.buffer.getExculdList()[0]);                    }    /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.getFeedLastModified(String)'     */    public void testGetFeedLastModified() throws IOException, InterruptedException {        ServerBaseEntry e = createServerBaseEntry(ENTRYID,FEEDID);        e.setUpdated(new DateTime(System.currentTimeMillis()-200,0));        StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        assertEquals(new Long(e.getUpdated().getValue()),this.buffer.getFeedLastModified(FEEDID));        //test update//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-180,0));        wrapper = new StorageEntryWrapper(e,StorageOperation.UPDATE);        this.buffer.addEntry(wrapper);        Long firstAddTimestamp = new Long(e.getUpdated().getValue());        assertEquals(firstAddTimestamp,this.buffer.getFeedLastModified(FEEDID));//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-160,0));        assertFalse("updated after add" ,e.getUpdated().equals(this.buffer.getFeedLastModified(FEEDID)));                //insert for other feed        String otherID = "someOtherFeedID";        e.setFeedId(otherID);//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-140,0));        wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        assertEquals(new Long(e.getUpdated().getValue()),this.buffer.getFeedLastModified(otherID));        assertEquals(firstAddTimestamp,this.buffer.getFeedLastModified(FEEDID));                assertTrue(firstAddTimestamp.equals(this.buffer.getFeedLastModified(FEEDID)));        this.buffer.addDeleted(e.getId(),FEEDID);        // time will be set inside the buffer        assertTrue(firstAddTimestamp < this.buffer.getFeedLastModified(FEEDID));                    }          /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.getSortedEntries(String)'     */    public void testGetSortedEntries() throws IOException, InterruptedException {        assertNull(this.buffer.getSortedEntries(FEEDID));        ServerBaseEntry e = createServerBaseEntry("2",FEEDID);        e.setUpdated(new DateTime(System.currentTimeMillis()-200,0));        StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        e.setId("0");//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-180,0));        wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        e.setId("1");//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-160,0));        wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        e.setId("0");//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-140,0));        wrapper = new StorageEntryWrapper(e,StorageOperation.UPDATE);        this.buffer.addEntry(wrapper);//      force timestamp        e.setUpdated(new DateTime(System.currentTimeMillis()-120,0));        wrapper = new StorageEntryWrapper(e,StorageOperation.DELETE);        this.buffer.addEntry(wrapper);        List<StorageEntryWrapper> list = this.buffer.getSortedEntries(FEEDID);       assertEquals(3,list.size());        for (int i = 0; i < 3; i++) {            assertEquals(""+i,list.get(i).getEntryId());           }            }      /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.getEntry(String, String)'     */    public void testGetEntry() throws IOException {        assertNull(this.buffer.getEntry(ENTRYID,FEEDID));        ServerBaseEntry e = createServerBaseEntry(ENTRYID,FEEDID);        StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        assertSame(wrapper,this.buffer.getEntry(ENTRYID,FEEDID));                e = createServerBaseEntry("0",FEEDID);        wrapper = new StorageEntryWrapper(e,StorageOperation.UPDATE);        this.buffer.addEntry(wrapper);        assertSame(wrapper,this.buffer.getEntry("0",FEEDID));                    }    /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.getExculdList()'     */    public void testGetExculdList() throws IOException {        ServerBaseEntry e = createServerBaseEntry(ENTRYID,FEEDID);        StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        this.buffer.addEntry(wrapper);        assertEquals(1,this.buffer.getExculdList().length);        assertEquals(wrapper.getEntryId(),this.buffer.getExculdList()[0]);                wrapper = new StorageEntryWrapper(e,StorageOperation.UPDATE);        this.buffer.addEntry(wrapper);        assertEquals(1,this.buffer.getExculdList().length);        assertEquals(wrapper.getEntryId(),this.buffer.getExculdList()[0]);        this.buffer.addDeleted(ENTRYID,FEEDID);        assertEquals(1,this.buffer.getExculdList().length);        assertEquals(wrapper.getEntryId(),this.buffer.getExculdList()[0]);                 e = createServerBaseEntry("someOtherEntry","someOtherFeed");        wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);        this.buffer.addEntry(wrapper);        this.buffer.addEntry(wrapper);        assertEquals(2,this.buffer.getExculdList().length);                    }    /*     * Test method for 'org.apache.lucene.gdata.storage.lucenestorage.StorageBuffer.close()'     */    public void testClose() throws IOException {        ServerBaseEntry e = createServerBaseEntry(ENTRYID,FEEDID);        StorageEntryWrapper wrapper = new StorageEntryWrapper(e,StorageOperation.INSERT);                this.buffer.addEntry(wrapper);        assertNotNull(this.buffer.getSortedEntries(FEEDID));        assertNotNull(this.buffer.getEntry(ENTRYID,FEEDID));        assertEquals(1,this.buffer.getExculdList().length);        this.buffer.close();        assertNull(this.buffer.getSortedEntries(FEEDID));        assertNull(this.buffer.getEntry(ENTRYID,FEEDID));        assertEquals(0,this.buffer.getExculdList().length);                    }    public ServerBaseEntry createServerBaseEntry(String entryID, String feedId) throws IOException{        ServerBaseEntry e = new ServerBaseEntry();        e.setId(entryID);        e.setFeedId(feedId);        e.setServiceConfig(new ProvidedServiceStub());       return e;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -