정렬 테스트 기준표

정렬 기준은 반례 데이터로 계약 고정

안정 정렬과 커스텀 비교 함수는 결과 배열 하나로 검증하기 어렵습니다. 숫자 문자열, 결측치, locale, 동점 규칙을 별도 케이스로 분리합니다.

"10" vs "2"

숫자 문자열

문자열 비교가 아니라 숫자 변환 키가 필요한지 먼저 결정합니다.

None

결측치 정책

빈 값이 가장 앞인지 뒤인지 키 함수에서 명시적으로 표현합니다.

locale

문자 순서

한글, 대소문자, 공백 처리 기준을 실행 환경과 분리해 테스트합니다.

tie

동점 안정성

같은 1차 키가 많을 때 원래 순서 또는 2차 키가 유지되는지 확인합니다.

key

키 함수 우선

단일 값이나 튜플로 표현 가능한 기준은 `key` 함수가 가장 안전합니다.

stable pass

다단계 안정 정렬

2차 기준부터 정렬해 안정성을 이용하면 복합 규칙을 읽기 쉽게 나눌 수 있습니다.

cmp

비교 함수 제한

`cmp_to_key`는 추이성, 동치성, 예외값 정책을 테스트한 뒤에만 사용합니다.