public void CreditAmount_ZeroModelYearValue_ReturnArgumentNullException(string brand, int modelYear) { //Eğer ICreditService içerisinde GetVehicleCreditAmount metotu çağrılırsa ve model yılı 0 ve altında ise return olarak ArgumentNullException fırlat. CreditServiceMock.Setup(p => p.GetVehicleCreditAmount(brand, modelYear)).Throws(new ArgumentNullException(nameof(modelYear), "model year cannot be less than zero")); //GetVehicleCreditAmount servisine model yılı 0 ve altında bir değer girildiğinde ArgumentNullException fırlatılacak. var argumentNullException = Assert.Throws <ArgumentNullException>(() => VehicleCredit.CreditAmount(brand, modelYear)); //Dönen hata mesajı doğru mu? Assert.Equal("model year cannot be less than zero (Parameter 'modelYear')", argumentNullException.Message); }
public void Add_SimpleValues_ReturnCreditAmount(string brand, int modelYear, int expectedCreditAmount) { //Eğer ICreditService içerisinde GetVehicleCreditAmount metotu çağrılırsa return olarak expectedCreditAmount değerini dön. CreditServiceMock.Setup(p => p.GetVehicleCreditAmount(brand, modelYear)).Returns(expectedCreditAmount); int creditAmount = VehicleCredit.CreditAmount(brand, modelYear); //GetVehicleCreditAmount servisinden 200 dönecek(Mock), Calculate buna 100 ekleyecek ve gelen değer 300 olacak. //Seat için 185 + 100 = 285 dönecek //Volkswagen için 200 + 100 = 300 dönecek Assert.InRange(creditAmount, 280, 310); }
public void Installment_VehicleValues_ReturnNumberOfCreditInstallments(string model, int modelYear, string fuel) { //Eğer ICreditService içerisinde CalculateInstallments metotu çağrılırsa return olarak 10 değerini dön. CreditServiceMock.Setup(p => p.CalculateInstallments(model, modelYear, fuel)).Returns(10); //VehicleCredit.Installment metotu servisten dönen değeri 2'ye bölüyor. int installmentsCount = VehicleCredit.Installment(model, modelYear, fuel); //Servisten dönen değeri 2'ye böldüğü için beklenen değeri 5 verdim. Assert.Equal <int>(5, installmentsCount); //(xUnit ile doğrula) CreditServiceMock.Verify(p => p.CalculateInstallments(model, modelYear, fuel), Times.Once); //Bu metot 1 kere çalışsın. Eğer 2 kere çalışırsa test başarısız olacak. }
public void CreditAmount_BrandAndModelYearValues_ReturnCreditAmountValue(string brand, int modelYear) { int actualCreditAmount = 0; //Eğer ICreditService içerisinde GetVehicleCreditAmount metotu çağrılırsa return olarak expectedCreditAmount değerini dön. CreditServiceMock.Setup(p => p.GetVehicleCreditAmount(It.IsAny <string>(), It.IsAny <int>())).Callback <string, int>((x, y) => actualCreditAmount = y / 3); VehicleCredit.CreditAmount(brand, modelYear); Assert.Equal(673, actualCreditAmount); VehicleCredit.CreditAmount("Seat", 2012); Assert.Equal(670, actualCreditAmount); }