package org.geotoolkit.image.io.large; import junit.framework.Assert; import org.junit.Test; import java.util.Properties; /** * @author Quentin Boileau (Geomatys) */ public class ImageCacheConfigurationTest extends org.geotoolkit.test.TestBase { @Test public void readMemorySize() { System.getProperties().remove(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE); Assert.assertEquals(67108864l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "512m"); Assert.assertEquals(536870912l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "512M"); Assert.assertEquals(536870912l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "1g"); Assert.assertEquals(1073741824l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "1G"); Assert.assertEquals(1073741824l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "700k"); Assert.assertEquals(716800l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "700K"); Assert.assertEquals(716800l, ImageCacheConfiguration.getCacheMemorySize()); //invalid formats System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "700Ko"); Assert.assertEquals(67108864l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "invalid"); Assert.assertEquals(67108864l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "512"); Assert.assertEquals(67108864l, ImageCacheConfiguration.getCacheMemorySize()); System.getProperties().setProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE, "1t"); Assert.assertEquals(67108864l, ImageCacheConfiguration.getCacheMemorySize()); } @Test public void writeMemorySize() { Properties properties = System.getProperties(); ImageCacheConfiguration.setCacheMemorySize("1g"); Assert.assertEquals("1g", properties.getProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE)); ImageCacheConfiguration.setCacheMemorySize("512m"); Assert.assertEquals("512m", properties.getProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE)); ImageCacheConfiguration.setCacheMemorySize("900k"); Assert.assertEquals("900k", properties.getProperty(ImageCacheConfiguration.KEY_CACHE_MEMORY_SIZE)); //invalid formats try { ImageCacheConfiguration.setCacheMemorySize("512"); Assert.fail(); } catch (IllegalArgumentException e) { } try { ImageCacheConfiguration.setCacheMemorySize("700Ko"); Assert.fail(); } catch (IllegalArgumentException e) { } try { ImageCacheConfiguration.setCacheMemorySize("1t"); Assert.fail(); } catch (IllegalArgumentException e) { } try { ImageCacheConfiguration.setCacheMemorySize("invalid"); Assert.fail(); } catch (IllegalArgumentException e) { } } }