TCKN & VKN Doğrulama Veri Seti

Doğrulama kurallarının çalıştırılabilir hâli: 39 girdi→beklenen-çıktı vakası, 5 hata kodu, 7 kural grubu. 19 dildeki kütüphanenin ortak referansı.

Sürüm spec-v1.0.0 MIT lisansı Güncelleme:

Bu veri seti nedir?

TCKN ve VKN doğrulamasının kurallarını anlatan bir belge değil, çalıştırılabilir hâli. Her kayıt bir girdi dizgisi, beklenen geçerlilik sonucu ve beklenen hata kodlarından oluşur:

{
  "input": "10000000146",
  "valid": true,
  "errors": [],
  "note": "gecerli"
}

Bir implementasyon bu dosyayı okuyup her vakayı çalıştırdığında, sözleşmeye uyup uymadığı tartışmaya yer bırakmadan ortaya çıkar.

Neden ortak bir veri seti?

Aynı algoritmanın 19 ayrı implementasyonu var. Her repo kendi testini kendi koduna göre yazarsa, hepsi kendi hatasıyla yeşil kalır — Go ile Python aynı numaraya farklı cevap verse kimse fark etmez.

Ortak veri seti soruyu tersine çevirir: artık “bu implementasyon doğru mu?” değil, “ortak sözleşmeye uyuyor mu?” diye sorulur.

İçinde ne var?

BölümAdetİçerik
tckn.cases227 geçerli, 15 geçersiz TCKN vakası
vkn.cases177 geçerli, 10 geçersiz VKN vakası
errorCodes5Standart hata kodları
rules7Normalizasyon, hata sırası, checksum davranışı vb.

Hata kodları ve değerlendirme sırası sabittir:

invalid_length → invalid_characters → invalid_first_digit
                → invalid_pattern → invalid_checksum

Sıra sözleşmenin parçasıdır: aynı girdi birden çok kuralı ihlal ediyorsa, hangi hatanın önce bildirileceği implementasyona bırakılmaz.

Nasıl kullanılır?

Dosyayı doğrudan indirin:

golden-dataset.json Depo ve şartname

CI'ınızda bütünlüğü sabitlemeniz önerilir — veri seti sürümlenir ve değişiklikler kasıtlıdır:

sha256sum -c <<< "e472cca15d825160877053da1e6e7078e8c1c18ef32fa25f5abb100bef217df9  golden-dataset.json"

Hash eşleşmiyorsa dosya sizin beklediğiniz sürüm değildir; testleriniz sessizce başka bir sözleşmeye göre çalışır.

Sürümleme ve lisans

Sürümler spec-vX.Y.Z etiketiyle işaretlenir. Kırıcı değişiklik = mevcut bir vakanın beklenen sonucunun değişmesi ya da yeni hata kodu eklenmesi (major artışı). Ek vaka minor artışıdır.

Veri seti MIT lisanslıdır; ticari kullanım dahil serbesttir, ücretsizdir.