KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > lib > java > lexer > JavaFlyTokensTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.lib.java.lexer;
21
22 import java.io.File JavaDoc;
23 import java.io.FileReader JavaDoc;
24 import java.nio.ByteOrder JavaDoc;
25 import java.nio.CharBuffer JavaDoc;
26 import org.netbeans.api.java.lexer.JavaTokenId;
27 import org.netbeans.api.lexer.TokenHierarchy;
28 import org.netbeans.api.lexer.TokenId;
29 import org.netbeans.api.lexer.TokenSequence;
30 import org.netbeans.junit.NbTestCase;
31 import org.netbeans.lib.lexer.test.LexerTestUtilities;
32
33 /**
34  * Test how many flyweight tokens gets created over a typical java source
35  * (copy of javax.swing.JComponent is used).
36  *
37  * @author mmetelka
38  */

39 public class JavaFlyTokensTest extends NbTestCase {
40     
41     public JavaFlyTokensTest(String JavaDoc testName) {
42         super(testName);
43     }
44     
45     protected void setUp() throws java.lang.Exception JavaDoc {
46         // Set-up testing environment
47
LexerTestUtilities.setTesting(true);
48     }
49
50     protected void tearDown() throws java.lang.Exception JavaDoc {
51     }
52
53     public void test() throws Exception JavaDoc {
54         File JavaDoc testJComponentFile = new File JavaDoc(getDataDir() + "/testfiles/JComponent.java.txt");
55         FileReader JavaDoc r = new FileReader JavaDoc(testJComponentFile);
56         int fileLen = (int)testJComponentFile.length();
57         CharBuffer JavaDoc cb = CharBuffer.allocate(fileLen);
58         r.read(cb);
59         cb.rewind();
60         String JavaDoc text = cb.toString();
61         TokenHierarchy<?> hi = TokenHierarchy.create(text, JavaTokenId.language());
62         TokenSequence<? extends TokenId> ts = hi.tokenSequence();
63         
64         System.err.println("Flyweight tokens: " + LexerTestUtilities.flyweightTokenCount(ts)
65                 + "\nTotal tokens: " + ts.tokenCount()
66                 + "\nFlyweight text length: " + LexerTestUtilities.flyweightTextLength(ts)
67                 + "\nTotal text length: " + fileLen
68                 + "\nDistribution: " + LexerTestUtilities.flyweightDistribution(ts)
69         );
70
71         assertEquals(LexerTestUtilities.flyweightTokenCount(ts), 13884);
72         assertEquals(LexerTestUtilities.flyweightTextLength(ts), 21741);
73         assertEquals(ts.tokenCount(), 21481);
74         
75     }
76     
77 }
78
Popular Tags