Snippets

H. Lo FileNameWithOutExtTest.java

Created by H. Lo
package com.thevegcat.app.tmp;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.io.File;
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 >= 0)
				.filter(i -> i > fileName.lastIndexOf(File.separator))
				.map(i -> fileName.substring(0, i))
				.orElse(fileName);
	}

	@Test
	void testRemoveExt() {
		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'");
	}

}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.