Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Added jUnit for findAllAnagramsInText method, and for 'merge' method in class MergeIntervals#44

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
quangrandz wants to merge2 commits intorampatra:master
base:master
Choose a base branch
Loading
fromquangrandz:master
Open
Show file tree
Hide file tree
Changes fromall commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletionssrc/main/java/com/leetcode/arrays/MergeIntervalsTestCase.java
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
package com.leetcode.arrays;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

/**
*
* @author: quangrandz
* @since: 2023-6-30
*/

public class MergeIntervalsTestCase {

@BeforeAll
public static void beforeAll() {
System.out.println("BEFORE ALL");
}

@AfterAll
public static void afterAll() {
System.out.println("AFTER ALL");
}

@BeforeEach
public void beforeEach() {
System.out.println("BEFORE EACH");
}

@AfterEach
public void afterEach() {
System.out.println("AFTER EACH");
}

// Test case 1: Non-overlapping intervals
@Test
public void testMerge_NonOverlapping() {
int[][] intervals = {{1, 3}, {4, 6}, {7, 9}};
int[][] expected = {{1, 3}, {4, 6}, {7, 9}};
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
}

// Test case 2: Overlapping intervals
@Test
public void testMerge_Overlapping() {
int[][] intervals = {{1, 4}, {2, 5}, {6, 8}};
int[][] expected = {{1, 5}, {6, 8}};
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
}

// Test case 3: Empty input
@Test
public void testMerge_EmptyInput() {
int[][] intervals = {};
int[][] expected = {};
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
}

// Test case 4: Single interval
@Test
public void testMerge_SingleInterval() {
int[][] intervals = {{2, 6}};
int[][] expected = {{2, 6}};
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
}

// Test case 5: Overlapping intervals with different orders
@Test
public void testMerge_DifferentOrders() {
int[][] intervals = {{9, 12}, {1, 4}, {6, 8}, {2, 5}};
int[][] expected = {{1, 5}, {6, 8}, {9, 12}};
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
}

// Test case 6: There are many overlapping time periods
@Test
public void testMerge_ManyOverlapping() {
int[][] intervals = {{1, 4}, {2, 5}, {3, 8}, {6, 9}};
int[][] expected = {{1, 9}};
Assertions.assertArrayEquals(expected, MergeIntervals.merge(intervals));
}
}
99 changes: 99 additions & 0 deletionssrc/main/java/com/leetcode/strings/AnagramsTestCase.java
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
package com.leetcode.strings;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

/**
*
* @author: quangrandz
* @since: 2023-6-30
*/


public class AnagramsTestCase {
@BeforeAll
public static void beforeAll() {
System.out.println("BEFORE ALL");
}

@AfterAll
public static void afterAll() {
System.out.println("AFTER ALL");
}

@BeforeEach
public void beforeEach() {
System.out.println("BEFORE EACH");
}

@AfterEach
public void afterEach() {
System.out.println("AFTER EACH");
}

@Test
public void testFindAllAnagramsInText() {
String text = "cbaebabacd";
String pattern = "abc";
List<Integer> expected = Arrays.asList(0, 6);

List<Integer> result = AnagramsInString.findAllAnagramsInText(text, pattern);

Assertions.assertEquals(expected, result);
}

@Test
public void testFindAllAnagramsInText_NoAnagramFound() {
String text = "abcd";
String pattern = "xyz";
List<Integer> expected = Collections.emptyList();

List<Integer> result = AnagramsInString.findAllAnagramsInText(text, pattern);

Assertions.assertEquals(expected, result);
}

@Test
public void testFindAllAnagramsInText_EmptyText() {
String text = "";
String pattern = "abc";
List<Integer> expected = Collections.emptyList();

List<Integer> result = AnagramsInString.findAllAnagramsInText(text, pattern);

Assertions.assertEquals(expected, result);
}

@Test
public void testFindAllAnagramsInText_EmptyPattern() {
String text = "abc";
String pattern = "";
List<Integer> expected = Arrays.asList(1,2,3);

List<Integer> result = AnagramsInString.findAllAnagramsInText(text, pattern);

Assertions.assertEquals(expected, result);
}

@Test
public void testFindAllAnagramsInText_LongPattern() {
String text = "cbaebabacd";
String pattern = "abcabcabc";
List<Integer> expected = Collections.emptyList();

List<Integer> result = AnagramsInString.findAllAnagramsInText(text, pattern);

Assertions.assertEquals(expected, result);
}



}

[8]ページ先頭

©2009-2025 Movatter.jp