From 49a87d3b58142c51e11b669bc5316a9206776202 Mon Sep 17 00:00:00 2001 From: Hardik Pawar <97388607+Hardvan@users.noreply.github.com> Date: Wed, 9 Oct 2024 12:38:16 +0530 Subject: [PATCH] Add tests for CountFriendsPairing (#5643) --- DIRECTORY.md | 1 + .../CountFriendsPairingTest.java | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 src/test/java/com/thealgorithms/dynamicprogramming/CountFriendsPairingTest.java diff --git a/DIRECTORY.md b/DIRECTORY.md index a2f65834b..fc52f313c 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -785,6 +785,7 @@ * [BoardPathTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/BoardPathTest.java) * [CatalanNumberTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/CatalanNumberTest.java) * [ClimbStairsTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/ClimbStairsTest.java) + * [CountFriendsPairingTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/CountFriendsPairingTest.java) * [EditDistanceTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/EditDistanceTest.java) * [EggDroppingTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/EggDroppingTest.java) * [KnapsackMemoizationTest](https://github.com/TheAlgorithms/Java/blob/master/src/test/java/com/thealgorithms/dynamicprogramming/KnapsackMemoizationTest.java) diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/CountFriendsPairingTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/CountFriendsPairingTest.java new file mode 100644 index 000000000..765daba5f --- /dev/null +++ b/src/test/java/com/thealgorithms/dynamicprogramming/CountFriendsPairingTest.java @@ -0,0 +1,50 @@ +package com.thealgorithms.dynamicprogramming; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.Test; + +public class CountFriendsPairingTest { + + @Test + void testSmallCase() { + int n = 5; + int[] expectedGolombSequence = {1, 2, 2, 3, 3}; + + assertTrue(CountFriendsPairing.countFriendsPairing(n, expectedGolombSequence)); + } + + @Test + void testMismatchSequence() { + int n = 5; + int[] wrongSequence = {1, 2, 2, 2, 3}; // An incorrect sequence + + assertFalse(CountFriendsPairing.countFriendsPairing(n, wrongSequence)); + } + + @Test + void testLargerCase() { + int n = 10; + int[] expectedGolombSequence = {1, 2, 2, 3, 3, 4, 4, 4, 5, 5}; + + assertTrue(CountFriendsPairing.countFriendsPairing(n, expectedGolombSequence)); + } + + @Test + void testEdgeCaseSingleElement() { + int n = 1; + int[] expectedGolombSequence = {1}; + + assertTrue(CountFriendsPairing.countFriendsPairing(n, expectedGolombSequence)); + } + + @Test + void testEmptySequence() { + int n = 0; + int[] emptySequence = {}; + + // Test the case where n is 0 (should handle this gracefully) + assertTrue(CountFriendsPairing.countFriendsPairing(n, emptySequence)); + } +}