OriginalAndDiffTest.java

package com.github.difflib.examples;

import static java.util.stream.Collectors.joining;
import static org.junit.jupiter.api.Assertions.fail;

import com.github.difflib.TestConstants;
import com.github.difflib.UnifiedDiffUtils;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.junit.jupiter.api.Test;

public class OriginalAndDiffTest {

		@Test
		public void testGenerateOriginalAndDiff() {
				List<String> origLines = null;
				List<String> revLines = null;
				try {
						origLines = fileToLines(TestConstants.MOCK_FOLDER + "original.txt");
						revLines = fileToLines(TestConstants.MOCK_FOLDER + "revised.txt");
				} catch (IOException e) {
						fail(e.getMessage());
				}

				List<String> originalAndDiff = UnifiedDiffUtils.generateOriginalAndDiff(origLines, revLines);
				System.out.println(originalAndDiff.stream().collect(joining("\n")));
		}

		@Test
		public void testGenerateOriginalAndDiffFirstLineChange() {
				List<String> origLines = null;
				List<String> revLines = null;
				try {
						origLines = fileToLines(TestConstants.MOCK_FOLDER + "issue_170_original.txt");
						revLines = fileToLines(TestConstants.MOCK_FOLDER + "issue_170_revised.txt");
				} catch (IOException e) {
						fail(e.getMessage());
				}

				List<String> originalAndDiff = UnifiedDiffUtils.generateOriginalAndDiff(origLines, revLines);
				System.out.println(originalAndDiff.stream().collect(joining("\n")));
		}

		public static List<String> fileToLines(String filename) throws FileNotFoundException, IOException {
				List<String> lines = new ArrayList<>();
				String line = "";
				try (BufferedReader in = new BufferedReader(new FileReader(filename))) {
						while ((line = in.readLine()) != null) {
								lines.add(line);
						}
				}
				return lines;
		}
}