2021-02-01 14:31:20 +09:00
|
|
|
/*
|
|
|
|
|
* ******************************************************************************
|
|
|
|
|
* *
|
|
|
|
|
* *
|
|
|
|
|
* * This program and the accompanying materials are made available under the
|
|
|
|
|
* * terms of the Apache License, Version 2.0 which is available at
|
|
|
|
|
* * https://www.apache.org/licenses/LICENSE-2.0.
|
|
|
|
|
* *
|
2021-02-01 17:47:29 +09:00
|
|
|
* * See the NOTICE file distributed with this work for additional
|
|
|
|
|
* * information regarding copyright ownership.
|
2021-02-01 14:31:20 +09:00
|
|
|
* * Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
* * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
|
* * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
|
* * License for the specific language governing permissions and limitations
|
|
|
|
|
* * under the License.
|
|
|
|
|
* *
|
|
|
|
|
* * SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
* *****************************************************************************
|
|
|
|
|
*/
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
package org.datavec.api.util;
|
|
|
|
|
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2021-03-15 13:02:01 +09:00
|
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
|
|
|
import org.junit.jupiter.api.Test;
|
2020-04-29 11:19:26 +10:00
|
|
|
import org.nd4j.common.tests.BaseND4JTest;
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
import java.io.BufferedReader;
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.InputStream;
|
|
|
|
|
import java.io.InputStreamReader;
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2021-03-15 13:02:01 +09:00
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
2019-06-06 15:21:15 +03:00
|
|
|
import static org.hamcrest.MatcherAssert.assertThat;
|
|
|
|
|
|
2022-09-20 15:40:53 +02:00
|
|
|
import static org.hamcrest.CoreMatchers.equalTo;
|
|
|
|
|
import static org.hamcrest.CoreMatchers.anyOf;
|
2019-06-06 15:21:15 +03:00
|
|
|
|
2022-09-20 15:40:53 +02:00
|
|
|
public class ClassPathResourceTest extends BaseND4JTest {
|
|
|
|
|
|
|
|
|
|
private boolean isWindows = false; //File sizes are reported slightly different on Linux vs. Windows
|
2019-06-06 15:21:15 +03:00
|
|
|
|
2021-03-15 13:02:01 +09:00
|
|
|
@BeforeEach
|
2022-09-20 15:40:53 +02:00
|
|
|
public void setUp() throws Exception {
|
2019-06-06 15:21:15 +03:00
|
|
|
String osname = System.getProperty("os.name");
|
|
|
|
|
if (osname != null && osname.toLowerCase().contains("win")) {
|
|
|
|
|
isWindows = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2022-09-20 15:40:53 +02:00
|
|
|
public void testGetFile1() throws Exception {
|
2019-06-06 15:21:15 +03:00
|
|
|
File intFile = new ClassPathResource("datavec-api/iris.dat").getFile();
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
assertTrue(intFile.exists());
|
|
|
|
|
if (isWindows) {
|
|
|
|
|
assertThat(intFile.length(), anyOf(equalTo(2700L), equalTo(2850L)));
|
|
|
|
|
} else {
|
|
|
|
|
assertEquals(2700, intFile.length());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2022-09-20 15:40:53 +02:00
|
|
|
public void testGetFileSlash1() throws Exception {
|
2019-06-06 15:21:15 +03:00
|
|
|
File intFile = new ClassPathResource("datavec-api/iris.dat").getFile();
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
assertTrue(intFile.exists());
|
|
|
|
|
if (isWindows) {
|
|
|
|
|
assertThat(intFile.length(), anyOf(equalTo(2700L), equalTo(2850L)));
|
|
|
|
|
} else {
|
|
|
|
|
assertEquals(2700, intFile.length());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2022-09-20 15:40:53 +02:00
|
|
|
public void testGetFileWithSpace1() throws Exception {
|
2019-06-06 15:21:15 +03:00
|
|
|
File intFile = new ClassPathResource("datavec-api/csvsequence test.txt").getFile();
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
assertTrue(intFile.exists());
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
if (isWindows) {
|
|
|
|
|
assertThat(intFile.length(), anyOf(equalTo(60L), equalTo(64L)));
|
|
|
|
|
} else {
|
|
|
|
|
assertEquals(60, intFile.length());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2022-09-20 15:40:53 +02:00
|
|
|
public void testInputStream() throws Exception {
|
2019-06-06 15:21:15 +03:00
|
|
|
ClassPathResource resource = new ClassPathResource("datavec-api/csvsequence_1.txt");
|
|
|
|
|
File intFile = resource.getFile();
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
if (isWindows) {
|
|
|
|
|
assertThat(intFile.length(), anyOf(equalTo(60L), equalTo(64L)));
|
|
|
|
|
} else {
|
|
|
|
|
assertEquals(60, intFile.length());
|
|
|
|
|
}
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
InputStream stream = resource.getInputStream();
|
|
|
|
|
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
|
|
|
|
|
String line = "";
|
|
|
|
|
int cnt = 0;
|
|
|
|
|
while ((line = reader.readLine()) != null) {
|
|
|
|
|
cnt++;
|
|
|
|
|
}
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
assertEquals(5, cnt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Test
|
2022-09-20 15:40:53 +02:00
|
|
|
public void testInputStreamSlash() throws Exception {
|
2019-06-06 15:21:15 +03:00
|
|
|
ClassPathResource resource = new ClassPathResource("datavec-api/csvsequence_1.txt");
|
|
|
|
|
File intFile = resource.getFile();
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
if (isWindows) {
|
|
|
|
|
assertThat(intFile.length(), anyOf(equalTo(60L), equalTo(64L)));
|
|
|
|
|
} else {
|
|
|
|
|
assertEquals(60, intFile.length());
|
|
|
|
|
}
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
InputStream stream = resource.getInputStream();
|
|
|
|
|
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
|
|
|
|
|
String line = "";
|
|
|
|
|
int cnt = 0;
|
|
|
|
|
while ((line = reader.readLine()) != null) {
|
|
|
|
|
cnt++;
|
|
|
|
|
}
|
2022-09-20 15:40:53 +02:00
|
|
|
|
2019-06-06 15:21:15 +03:00
|
|
|
assertEquals(5, cnt);
|
|
|
|
|
}
|
|
|
|
|
}
|