1   package ch.qos.logback.core.rolling;
2   
3   import junit.framework.TestCase;
4   import ch.qos.logback.core.Context;
5   import ch.qos.logback.core.ContextBase;
6   
7   public class SizeBasedTriggeringPolicyTest extends TestCase {
8   
9     public void testStringToLong() {
10      Context context = new ContextBase();
11      SizeBasedTriggeringPolicy policy = new SizeBasedTriggeringPolicy();
12      policy.setContext(context);
13  
14      Long result;
15  
16      {
17        result = policy.toFileSize("123");
18        assertEquals(new Long("123"), result);
19      }
20      {
21        result = policy.toFileSize("123KB");
22        // = 123 * 1024
23        assertEquals(new Long("125952"), result);
24      }
25      {
26        result = policy.toFileSize("123MB");
27        // = 123 * 1024 * 1024
28        assertEquals(new Long("128974848"), result);
29      }
30      {
31        result = policy.toFileSize("123GB");
32        // = 123 * 1024 * 1024 * 1024
33        assertEquals(new Long("132070244352"), result);
34      }
35  
36      {
37        result = policy.toFileSize("123xxxx");
38        // = 123 * 1024 * 1024 * 1024
39        assertEquals(new Long(SizeBasedTriggeringPolicy.DEFAULT_MAX_FILE_SIZE),
40            result);
41        assertEquals(2, context.getStatusManager().getCount());
42      }
43  
44    }
45  }