package com.thealgorithms.others; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import org.junit.jupiter.api.Test; class ArrayLeftRotationTest { @Test void testForOneElement() { int[] arr = {3}; int[] result = ArrayLeftRotation.rotateLeft(arr, 3); assertArrayEquals(arr, result); } @Test void testForZeroStep() { int[] arr = {3, 1, 5, 8, 6}; int[] result = ArrayLeftRotation.rotateLeft(arr, 0); assertArrayEquals(arr, result); } @Test void testForEqualSizeStep() { int[] arr = {3, 1, 5, 8, 6}; int[] result = ArrayLeftRotation.rotateLeft(arr, 5); assertArrayEquals(arr, result); } @Test void testForLowerSizeStep() { int[] arr = {3, 1, 5, 8, 6}; int n = 2; int[] expected = {5, 8, 6, 3, 1}; int[] result = ArrayLeftRotation.rotateLeft(arr, n); assertArrayEquals(expected, result); } @Test void testForHigherSizeStep() { int[] arr = {3, 1, 5, 8, 6}; int n = 7; int[] expected = {5, 8, 6, 3, 1}; int[] result = ArrayLeftRotation.rotateLeft(arr, n); assertArrayEquals(expected, result); } @Test void testForEmptyArray() { int[] arr = {}; int[] result = ArrayLeftRotation.rotateLeft(arr, 3); assertArrayEquals(arr, result); } }