/* * Title: CloudSim Toolkit * Description: CloudSim (Cloud Simulation) Toolkit for Modeling and Simulation of Clouds * Licence: GPL - http://www.gnu.org/copyleft/gpl.html * * Copyright (c) 2009-2012, The University of Melbourne, Australia */ package org.cloudbus.cloudsim; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.text.DecimalFormatSymbols; import java.util.Locale; import org.junit.Before; import org.junit.Test; /** * @author Anton Beloglazov * @since CloudSim Toolkit 2.0 */ public class LogTest { private static final ByteArrayOutputStream OUTPUT = new ByteArrayOutputStream(); private static final String LINE_SEPARATOR = System.getProperty("line.separator"); private static final DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(Locale.getDefault(Locale.Category.FORMAT)); @Before public void setUp() throws Exception { Log.setOutput(OUTPUT); } @Test public void testPrint() throws IOException { Log.print("test test"); assertEquals("test test", OUTPUT.toString()); OUTPUT.reset(); Log.print(123); assertEquals("123", OUTPUT.toString()); OUTPUT.reset(); Log.print(123L); assertEquals("123", OUTPUT.toString()); OUTPUT.reset(); Log.print(123.0); assertEquals("123.0", OUTPUT.toString()); OUTPUT.reset(); } @Test public void testPrintLine() throws IOException { Log.printLine("test test"); assertEquals("test test" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.printLine(123); assertEquals("123" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.printLine(123L); assertEquals("123" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.printLine(123.0); assertEquals("123.0" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); } @Test public void testFormat() throws IOException { Log.format("test %s test", "test"); assertEquals("test test test", OUTPUT.toString()); OUTPUT.reset(); Log.format("%d", 123); assertEquals("123", OUTPUT.toString()); OUTPUT.reset(); Log.format("%d", 123L); assertEquals("123", OUTPUT.toString()); OUTPUT.reset(); Log.format("%.2f", 123.01); assertEquals("123"+dfs.getDecimalSeparator()+"01", OUTPUT.toString()); OUTPUT.reset(); } @Test public void testFormatLine() throws IOException { OUTPUT.reset(); Log.formatLine("test %s test", "test"); assertEquals("test test test" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.formatLine("%d", 123); assertEquals("123" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.formatLine("%d", 123L); assertEquals("123" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.formatLine("%.2f", 123.01); assertEquals("123"+dfs.getDecimalSeparator()+"01" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); } @Test public void testDisable() throws IOException { OUTPUT.reset(); assertFalse(Log.isDisabled()); Log.print("test test"); assertEquals("test test", OUTPUT.toString()); OUTPUT.reset(); Log.printLine("test test"); assertEquals("test test" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.format("test %s test", "test"); assertEquals("test test test", OUTPUT.toString()); OUTPUT.reset(); Log.formatLine("test %s test", "test"); assertEquals("test test test" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.disable(); assertTrue(Log.isDisabled()); Log.print("test test"); assertEquals("", OUTPUT.toString()); OUTPUT.reset(); Log.printLine("test test"); assertEquals("", OUTPUT.toString()); OUTPUT.reset(); Log.format("test %s test", "test"); assertEquals("", OUTPUT.toString()); OUTPUT.reset(); Log.formatLine("test %s test", "test"); assertEquals("", OUTPUT.toString()); OUTPUT.reset(); Log.enable(); assertFalse(Log.isDisabled()); Log.print("test test"); assertEquals("test test", OUTPUT.toString()); OUTPUT.reset(); Log.printLine("test test"); assertEquals("test test" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); Log.format("test %s test", "test"); assertEquals("test test test", OUTPUT.toString()); OUTPUT.reset(); Log.formatLine("test %s test", "test"); assertEquals("test test test" + LINE_SEPARATOR, OUTPUT.toString()); OUTPUT.reset(); } }