public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calculator = new Calculator();
assertEquals(5, calculator.add(2, 3));
}
}
public interface Database {
void save(String data);
String load();
}
public class Service {
private Database database;
public Service(Database database) {
this.database = database;
}
public void saveData(String data) {
database.save(data);
}
public String loadData() {
return database.load();
}
}
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;
public class ServiceTest {
private Service service;
private Database mockDatabase;
@Before
public void setup() {
mockDatabase = mock(Database.class);
service = new Service(mockDatabase);
}
@Test
public void testSaveData() {
service.saveData("test data");
verify(mockDatabase).save("test data");
}
@Test
public void testLoadData() {
when(mockDatabase.load()).thenReturn("test data");
assertEquals("test data", service.loadData());
}
}