1+ package com .scanoss .utils ;
2+
3+ import org .junit .Test ;
4+
5+ import static org .junit .Assert .*;
6+
7+ public class WinnowingUtilsTest {
8+
9+ @ Test
10+ public void testExtractFilePathFromWFP_ValidEntry_ReturnsFilePath () {
11+ String wfpEntry = "file=sha1,md5,/path/to/file\n another=line" ;
12+ String result = WinnowingUtils .extractFilePathFromWFP (wfpEntry );
13+ assertEquals ("/path/to/file" , result );
14+ }
15+
16+ @ Test
17+ public void testExtractFilePathFromWFP_EmptyString_ReturnsNull () {
18+ String wfpEntry = "" ;
19+ String result = WinnowingUtils .extractFilePathFromWFP (wfpEntry );
20+ assertNull (result );
21+ }
22+
23+ @ Test
24+ public void testExtractFilePathFromWFP_NoFileLine_ReturnsNull () {
25+ String wfpEntry = "another=line\n something=else" ;
26+ String result = WinnowingUtils .extractFilePathFromWFP (wfpEntry );
27+ assertNull (result );
28+ }
29+
30+ @ Test
31+ public void testExtractFilePathFromWFP_InvalidFileLineFormat_ReturnsNull () {
32+ String wfpEntry = "file=sha1,md5\n file=incorrect,format" ;
33+ String result = WinnowingUtils .extractFilePathFromWFP (wfpEntry );
34+ assertNull (result );
35+ }
36+
37+ @ Test
38+ public void testExtractFilePathFromWFP_MultipleLinesWithValidFileLine_ReturnsFilePath () {
39+ String wfpEntry = "something=else\n file=sha1,md5,/valid/path\n another=line" ;
40+ String result = WinnowingUtils .extractFilePathFromWFP (wfpEntry );
41+ assertEquals ("/valid/path" , result );
42+ }
43+
44+ @ Test
45+ public void testExtractFilePathFromWFP_FileLineWithExtraCommas_ReturnsNull () {
46+ String wfpEntry = "file=sha1,md5,/path,with,comma" ;
47+ String result = WinnowingUtils .extractFilePathFromWFP (wfpEntry );
48+ assertNull (result );
49+ }
50+
51+ @ Test (expected = NullPointerException .class )
52+ public void testExtractFilePathFromWFP_NullInput_ThrowsNullPointerException () {
53+ String wfpEntry = null ;
54+ WinnowingUtils .extractFilePathFromWFP (wfpEntry );
55+ }
56+ }
0 commit comments