@@ -48,6 +48,76 @@ public void testBoundsExceptions() {
4848 assertThat (slocCount .complexity ).isEqualTo (8 );
4949 }
5050
51+ public void testMultiLine () {
52+ String language = "C++" ;
53+ String contents = "/*\n " +
54+ "*\n " +
55+ "*/" ;
56+
57+ SlocCounter .SlocCount slocCount = this .slocCounter .countStats (contents , language );
58+ assertThat (slocCount .linesCount ).isEqualTo (3 );
59+ assertThat (slocCount .codeCount ).isEqualTo (0 );
60+ assertThat (slocCount .commentCount ).isEqualTo (3 );
61+ }
62+
63+ public void testRegression () {
64+ String language = "C++" ;
65+ String contents = "/**/\n " +
66+ "i\n " ;
67+
68+ SlocCounter .SlocCount slocCount = this .slocCounter .countStats (contents , language );
69+
70+ assertThat (slocCount .linesCount ).isEqualTo (2 );
71+ assertThat (slocCount .codeCount ).isEqualTo (1 );
72+ assertThat (slocCount .commentCount ).isEqualTo (1 );
73+ assertThat (slocCount .blankCount ).isEqualTo (1 );
74+ }
75+
76+ public void testRakefile () {
77+ String language = "Rakefile" ;
78+ String contents = "# 10 lines 4 code 2 comments 4 blanks\n " +
79+ "\n " +
80+ "# this is a rakefile\n " +
81+ "\n " +
82+ "task default: %w[test]\n " +
83+ "\n " +
84+ "task :test do # not counted\n " +
85+ " ruby \" test/unittest.rb\" \n " +
86+ "end\n " +
87+ "\n " ;
88+
89+ SlocCounter .SlocCount slocCount = this .slocCounter .countStats (contents , language );
90+ assertThat (slocCount .linesCount ).isEqualTo (10 );
91+ assertThat (slocCount .codeCount ).isEqualTo (4 );
92+ assertThat (slocCount .commentCount ).isEqualTo (2 );
93+ assertThat (slocCount .blankCount ).isEqualTo (4 );
94+ }
95+
96+ public void testCPlusPlus () {
97+ String language = "C++" ;
98+ String contents = "/* 15 lines 7 code 4 comments 4 blanks */\n " +
99+ "\n " +
100+ "#include <iostream>\n " +
101+ "\n " +
102+ "\n " +
103+ "using namespace std;\n " +
104+ "\n " +
105+ "/*\n " +
106+ " * Simple test\n " +
107+ " */\n " +
108+ "int main()\n " +
109+ "{\n " +
110+ " cout<<\" Hello world\" <<endl;\n " +
111+ " return 0;\n " +
112+ "}\n " ;
113+
114+ SlocCounter .SlocCount slocCount = this .slocCounter .countStats (contents , language );
115+ assertThat (slocCount .linesCount ).isEqualTo (15 );
116+ assertThat (slocCount .codeCount ).isEqualTo (7 );
117+ assertThat (slocCount .commentCount ).isEqualTo (4 );
118+ assertThat (slocCount .blankCount ).isEqualTo (4 );
119+ }
120+
51121 public void testTokeiTest () {
52122 String language = "Rust" ;
53123 String contents = "// 39 lines 32 code 2 comments 5 blanks\n " +
0 commit comments