/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.common.query.cache; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import org.junit.Test; import com.ewcms.common.query.model.Certificate; public class CacheResultTest { @Test public void testGetPageCount(){ CacheResult result = new CacheResult("testCacheKey",20,new ArrayList<Object>()).setRow(20); int pageCount = result.getPageCount(); Assert.assertEquals(1, pageCount); result = new CacheResult("testCacheKey",21,new ArrayList<Object>()).setRow(20); pageCount = result.getPageCount(); Assert.assertEquals(2, pageCount); } @Test public void testThanCountResultList(){ CacheResult result = new CacheResult("testCacheKey",10,new ArrayList<Object>()) .setRow(20) .setPage(1); initResultList(result,10); Assert.assertEquals(0, result.getResultList().size()); } @Test public void testCacheGetResultList(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()) .setRow(30) .setPage(1); initResultList(result,100); Assert.assertEquals(30, result.getResultList().size()); result.setPage(3); Assert.assertEquals(10, result.getResultList().size()); } @Test public void testIsLoaded(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()) .setRow(20); initResultList(result,50); result.setPage(3); Assert.assertFalse(result.isLoaded()); result.setPage(2); Assert.assertFalse(result.isLoaded()); result.setPage(1); Assert.assertTrue(result.isLoaded()); } @Test public void testThanCountIsLoaded(){ CacheResult result = new CacheResult("testCacheKey",10,new ArrayList<Object>()) .setRow(20); result.setPage(6); Assert.assertTrue(result.isLoaded()); } private void initResultList(CacheResult result,int size){ List<Object> list = new ArrayList<Object>(); for(int i = 0 ; i < size ; i++){ Certificate c = new Certificate(); c.setId(String.valueOf(i)); list.add(c); } result.appendResultList(list); } @Test public void testAddResultList(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()); initResultList(result,50); result.setPage(0).setRow(50); Assert.assertEquals(50, result.getResultList().size()); initResultList(result,60); result.setPage(1).setRow(50); Assert.assertEquals(50, result.getResultList().size()); result.setPage(2).setRow(50); Assert.assertEquals(0, result.getResultList().size()); } @Test public void testEqualsIsTrue(){ List<Object> extList = new ArrayList<Object>(); CacheResult a = new CacheResult("cacheKey",10,extList); initResultList(a,10); CacheResult b = new CacheResult("cacheKey",10,extList); initResultList(b,10); Assert.assertTrue(a.equals(b)); } @Test public void testCreateNewsModifiedIsTrue(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()); Assert.assertTrue(result.isModified()); } @Test public void testCloneModifiedIsFalse(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()); CacheResult newResult = new CacheResult(result); Assert.assertFalse(newResult.isModified()); } @Test public void testChangeCacheKeyModifiedIsTrue(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()); CacheResult newResult = new CacheResult("111111",result); Assert.assertTrue(newResult.isModified()); } @Test public void testAddResultListModifiedIsTrue(){ CacheResult result = new CacheResult("testCacheKey",100,new ArrayList<Object>()); CacheResult newResult = new CacheResult(result); Assert.assertFalse(newResult.isModified()); initResultList(newResult,50); Assert.assertTrue(newResult.isModified()); } }