assert, "bunun böyle olduğunu iddia ediyorum" demek gibidir. Örnek:
assert(toUniUpper('a') == 'A');
Yani yazdığımız kod doğru ise, toUniUpper('a')'nın sonucu 'A' olacaktır. dmd'yi -unittest diye başlatınca, dmd, bütün
unittest
{
...
}
bloklarındaki kodları çalıştırır ve iddiamız yanlış çıkınca hata verir.
Orada iki dosya var. Birinci bölümü tr klasörü altında uni.d ismiyle kaydet, ve içinde main olan ikinci bölümü de deneme.d olarak.
Yazının en sonunda gösterdiğim şu şekilde derlersen:
'dmd -unittest -w deneme.d tr/uni.d'
Hatasız çalışır. Sonra tr.uni içinde örneğin
c = 'İ';
ifadesini
c = 'X';
olarak değiştir ve tekrar derle. Bu sefer derleyici hata verecek ve sen de toUniUpper'ın içinde bir hata yaptığını anlayacaksın.
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]