1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 package wjhk.jupload2.upload;
27
28 import static org.junit.Assert.*;
29
30 import java.util.concurrent.ArrayBlockingQueue;
31 import java.util.concurrent.BlockingQueue;
32
33 import org.junit.Before;
34 import org.junit.Test;
35
36 import wjhk.jupload2.testhelpers.FileDataTestHelper;
37 import wjhk.jupload2.testhelpers.FilePanelTestHelper;
38
39
40
41
42 public class FilePreparationThreadTest extends AbstractJUploadTestHelper {
43
44
45 public final static int NB_FILES_TO_UPLOAD = 5;
46
47
48 public final static int NUM_FILE_WITH_UPLOADFLAG_TO_FALSE = 3;
49
50
51
52
53
54 BlockingQueue<UploadFileData> preparedFileQueue;
55
56
57
58
59 @Before
60 public void setUp() throws Exception {
61
62 setupFileList(NB_FILES_TO_UPLOAD);
63
64 preparedFileQueue = new ArrayBlockingQueue<UploadFileData>(20);
65
66
67 assertEquals("FilePanel.removeFileNotToUpload() not called before constructor", 0,
68 ((FilePanelTestHelper) this.filePanel).removeFileNotToUpload_NbCalls);
69 filePreparationThread = new FilePreparationThread(preparedFileQueue, fileUploadManagerThread, uploadPolicy);
70 assertEquals("FilePanel.removeFileNotToUpload() called once during constructor", 1,
71 ((FilePanelTestHelper) this.filePanel).removeFileNotToUpload_NbCalls);
72 }
73
74
75
76
77
78
79 @Test
80 public void testRun() throws InterruptedException {
81
82 assertEquals("getNbTotalNumberOfPreparedBytes", 0, filePreparationThread.getNbTotalNumberOfPreparedBytes(), 0);
83 assertEquals("getTotalFileBytesToSend", 0, filePreparationThread.getTotalFileBytesToSend(), 0);
84 assertEquals("nbFilesToSend", NB_FILES_TO_UPLOAD, filePreparationThread.getNbFilesToSend());
85 assertEquals("getNbPreparedFiles", 0, filePreparationThread.getNbPreparedFiles());
86
87
88 filePreparationThread.run();
89
90
91 assertEquals("nbFilesToSend", NB_FILES_TO_UPLOAD, filePreparationThread.getNbFilesToSend());
92 assertEquals("getNbPreparedFiles", NB_FILES_TO_UPLOAD, filePreparationThread.getNbPreparedFiles());
93 assertEquals("getNbTotalNumberOfPreparedBytes",
94 (NB_FILES_TO_UPLOAD) * (FileDataTestHelper.FILE_CONTENT_PREFIX.length() + 1),
95 filePreparationThread.getNbTotalNumberOfPreparedBytes(), 0);
96 assertEquals("getTotalFileBytesToSend", (NB_FILES_TO_UPLOAD)
97 * (FileDataTestHelper.FILE_CONTENT_PREFIX.length() + 1),
98 filePreparationThread.getTotalFileBytesToSend(), 0);
99
100 for (int i = 0; i < NB_FILES_TO_UPLOAD; i += 1) {
101 assertEquals("File name " + i, i + ".txt", preparedFileQueue.take().getFileName());
102 }
103 }
104 }