Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
22
Случайная перестановка элементов массива
Условие задачи
Дан массив, содержащий ровно десять целых чисел. Требуется перемешать его элементы в произвольном порядке, аналогично перемешиванию колоды карт.
Решение должно проходить проверку, которая убеждается в следующем:
- После перемешивания массив не является пустым.
- Размер массива остаётся тем же самым.
- В массиве присутствуют все исходные значения, но их порядок может измениться.
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class ArraysTest {
private static final int[] INPUT_VALUES = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
@Test
void shouldNotRetrieveEmpty() {
assertThat(Arrays.shuffle(INPUT_VALUES)).isNotEmpty();
}
@Test
void shouldContainSameLength() {
assertThat(Arrays.shuffle(INPUT_VALUES).length).isEqualTo(10);
}
@Test
void shouldContainSameValuesInAnyOrder() {
assertThat(Arrays.shuffle(INPUT_VALUES)).containsExactlyInAnyOrder(INPUT_VALUES);
}
}
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
class ArraysTest {
private static final int[] INPUT_VALUES = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
@Test
void shouldNotRetrieveEmpty() {
assertThat(Arrays.shuffle(INPUT_VALUES)).isNotEmpty();
}
@Test
void shouldContainSameLength() {
assertThat(Arrays.shuffle(INPUT_VALUES).length).isEqualTo(10);
}
@Test
void shouldContainSameValuesInAnyOrder() {
assertThat(Arrays.shuffle(INPUT_VALUES)).containsExactlyInAnyOrder(INPUT_VALUES);
}
}