+package com.thevegcat.app.tmp;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import java.util.Optional;
+import org.junit.jupiter.api.Test;
+public class FileNameWithOutExtTest {
+ private static String fileNameWithOutExt(final String fileName) {
+ return Optional.of(fileName.lastIndexOf("."))
+ .filter(i -> i > fileName.lastIndexOf(File.separator))
+ .map(i -> fileName.substring(0, i))
+ assertEquals("file", fileNameWithOutExt("file"), "Expected 'file'");
+ assertEquals("file", fileNameWithOutExt("file.ext"), "Expected 'file'");
+ assertEquals("file.2", fileNameWithOutExt("file.2.ext"), "Expected 'file.2'");
+ assertEquals("file", fileNameWithOutExt("directory/file"), "Expected 'file'");
+ assertEquals("file", fileNameWithOutExt("directory/file.ext"), "Expected 'file'");
+ assertEquals("file.2", fileNameWithOutExt("directory/file.2.ext"), "Expected 'file.2'");
+ assertEquals("file", fileNameWithOutExt("directory.old/file"), "Expected 'file'");
+ assertEquals("file", fileNameWithOutExt("directory.old/file.ext"), "Expected 'file'");
+ assertEquals("file.2", fileNameWithOutExt("directory.old/file.2.ext"), "Expected 'file.2'");
+ assertEquals("file", fileNameWithOutExt("file"), "Expected 'file'");
+ assertEquals("file", fileNameWithOutExt("file.ext"), "Expected 'file'");
+ assertEquals("file.2", fileNameWithOutExt("file.2.ext"), "Expected 'file.2'");
+ assertEquals("file", fileNameWithOutExt("directory\\file"), "Expected 'file'");
+ assertEquals("file", fileNameWithOutExt("directory\\file.ext"), "Expected 'file'");
+ assertEquals("file.2", fileNameWithOutExt("directory\\file.2.ext"), "Expected 'file.2'");
+ assertEquals("file", fileNameWithOutExt("directory.old\\file"), "Expected 'file'");
+ assertEquals("file", fileNameWithOutExt("directory.old\\file.ext"), "Expected 'file'");
+ assertEquals("file.2", fileNameWithOutExt("directory.old\\file.2.ext"), "Expected 'file.2'");