Add 'sdk/java-v2/' from commit '55f103e336ca9fb8bf1720d2ef4ee8dd4e221118'
[arvados.git] / sdk / java-v2 / src / test / java / org / arvados / client / utils / FileSplitTest.java
1 /*
2  * Copyright (C) The Arvados Authors. All rights reserved.
3  *
4  * SPDX-License-Identifier: AGPL-3.0 OR Apache-2.0
5  *
6  */
7
8 package org.arvados.client.utils;
9
10 import org.arvados.client.test.utils.FileTestUtils;
11 import org.junit.After;
12 import org.junit.Before;
13 import org.junit.Test;
14
15 import java.io.File;
16 import java.util.List;
17
18 import static org.arvados.client.test.utils.FileTestUtils.*;
19 import static org.assertj.core.api.Assertions.assertThat;
20
21 public class FileSplitTest {
22
23     @Before
24     public void setUp() throws Exception {
25         FileTestUtils.createDirectory(FILE_SPLIT_TEST_DIR);
26     }
27
28     @Test
29     public void fileIsDividedIntoSmallerChunks() throws Exception {
30
31         // given
32         int expectedSize = 2;
33         int expectedFileSizeInBytes = 67108864;
34         FileTestUtils.generateFile(TEST_FILE, FileTestUtils.ONE_EIGTH_GB);
35
36         // when
37         List<File> actual = FileSplit.split(new File(TEST_FILE), new File(FILE_SPLIT_TEST_DIR), FILE_SPLIT_SIZE);
38
39         // then
40         assertThat(actual).hasSize(expectedSize);
41         assertThat(actual).allMatch(a -> a.length() == expectedFileSizeInBytes);
42     }
43
44     @After
45     public void tearDown() throws Exception {
46         FileTestUtils.cleanDirectory(FILE_SPLIT_TEST_DIR);
47     }
48 }