কোনও ক্লাসে কিছু পদ্ধতি উপহাস করার জন্য মকিতো ব্যবহার করে কোনও উপায় আছে, তবে অন্যেরা নেই?
উদাহরণস্বরূপ, এই (স্বীকৃত স্বীকৃতিযুক্ত) Stock
শ্রেণিতে আমি উপহাস করতে চাই getPrice()
এবং getQuantity()
মানগুলি ফেরত দিতে চাই (নীচের পরীক্ষার স্নিপেটে দেখানো হয়েছে) তবে আমি ক্লাসে getValue()
কোডেড হিসাবে গুণটি সম্পাদন করতে চাইStock
public class Stock {
private final double price;
private final int quantity;
Stock(double price, int quantity) {
this.price = price;
this.quantity = quantity;
}
public double getPrice() {
return price;
}
public int getQuantity() {
return quantity;
}
public double getValue() {
return getPrice() * getQuantity();
}
@Test
public void getValueTest() {
Stock stock = mock(Stock.class);
when(stock.getPrice()).thenReturn(100.00);
when(stock.getQuantity()).thenReturn(200);
double value = stock.getValue();
// Unfortunately the following assert fails, because the mock Stock getValue() method does not perform the Stock.getValue() calculation code.
assertEquals("Stock value not correct", 100.00*200, value, .00001);
}