import org.junit.Test;
import static org.junit.Assert.*;
class SimpleTest {
@Test
public void testAddition() {
int result = 2 + 2;
assertEquals(4, result);
}
@Test
public void testSubtraction() {
int result = 5 - 3;
assertEquals(2, result);
}
@Test
public void testMultiplication() {
int result = 5 * 4;
assertEquals(20, result);
}
@Test
public void testDivision() {
double result = 10 / 2;
assertEquals(5.0, result, 0.0001);
}
public static void main
(String[] args
) { SimpleTest simpleTest = new SimpleTest();
simpleTest.runTests();
}
public void runTests() {
try {
testAddition();
System.
out.
println("Addition test passed"); } catch (AssertionError e) {
System.
out.
println("Addition test failed: " + e.
getMessage()); }
try {
testSubtraction();
System.
out.
println("Subtraction test passed"); } catch (AssertionError e) {
System.
out.
println("Subtraction test failed: " + e.
getMessage()); }
try {
testMultiplication();
System.
out.
println("Multiplication test passed"); } catch (AssertionError e) {
System.
out.
println("Multiplication test failed: " + e.
getMessage()); }
try {
testDivision();
System.
out.
println("Division test passed"); } catch (AssertionError e) {
System.
out.
println("Division test failed: " + e.
getMessage()); }
}
}
aW1wb3J0IG9yZy5qdW5pdC5UZXN0OwppbXBvcnQgc3RhdGljIG9yZy5qdW5pdC5Bc3NlcnQuKjsKCmNsYXNzIFNpbXBsZVRlc3QgewoKICAgIEBUZXN0CiAgICBwdWJsaWMgdm9pZCB0ZXN0QWRkaXRpb24oKSB7CiAgICAgICAgaW50IHJlc3VsdCA9IDIgKyAyOwogICAgICAgIGFzc2VydEVxdWFscyg0LCByZXN1bHQpOwogICAgfQoKICAgIEBUZXN0CiAgICBwdWJsaWMgdm9pZCB0ZXN0U3VidHJhY3Rpb24oKSB7CiAgICAgICAgaW50IHJlc3VsdCA9IDUgLSAzOwogICAgICAgIGFzc2VydEVxdWFscygyLCByZXN1bHQpOwogICAgfQoKICAgIEBUZXN0CiAgICBwdWJsaWMgdm9pZCB0ZXN0TXVsdGlwbGljYXRpb24oKSB7CiAgICAgICAgaW50IHJlc3VsdCA9IDUgKiA0OwogICAgICAgIGFzc2VydEVxdWFscygyMCwgcmVzdWx0KTsKICAgIH0KCiAgICBAVGVzdAogICAgcHVibGljIHZvaWQgdGVzdERpdmlzaW9uKCkgewogICAgICAgIGRvdWJsZSByZXN1bHQgPSAxMCAvIDI7CiAgICAgICAgYXNzZXJ0RXF1YWxzKDUuMCwgcmVzdWx0LCAwLjAwMDEpOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTaW1wbGVUZXN0IHNpbXBsZVRlc3QgPSBuZXcgU2ltcGxlVGVzdCgpOwogICAgICAgIHNpbXBsZVRlc3QucnVuVGVzdHMoKTsKICAgIH0KCiAgICBwdWJsaWMgdm9pZCBydW5UZXN0cygpIHsKICAgICAgICB0cnkgewogICAgICAgICAgICB0ZXN0QWRkaXRpb24oKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBZGRpdGlvbiB0ZXN0IHBhc3NlZCIpOwogICAgICAgIH0gY2F0Y2ggKEFzc2VydGlvbkVycm9yIGUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJBZGRpdGlvbiB0ZXN0IGZhaWxlZDogIiArIGUuZ2V0TWVzc2FnZSgpKTsKICAgICAgICB9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHRlc3RTdWJ0cmFjdGlvbigpOwogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlN1YnRyYWN0aW9uIHRlc3QgcGFzc2VkIik7CiAgICAgICAgfSBjYXRjaCAoQXNzZXJ0aW9uRXJyb3IgZSkgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlN1YnRyYWN0aW9uIHRlc3QgZmFpbGVkOiAiICsgZS5nZXRNZXNzYWdlKCkpOwogICAgICAgIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdGVzdE11bHRpcGxpY2F0aW9uKCk7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTXVsdGlwbGljYXRpb24gdGVzdCBwYXNzZWQiKTsKICAgICAgICB9IGNhdGNoIChBc3NlcnRpb25FcnJvciBlKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTXVsdGlwbGljYXRpb24gdGVzdCBmYWlsZWQ6ICIgKyBlLmdldE1lc3NhZ2UoKSk7CiAgICAgICAgfQoKICAgICAgICB0cnkgewogICAgICAgICAgICB0ZXN0RGl2aXNpb24oKTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJEaXZpc2lvbiB0ZXN0IHBhc3NlZCIpOwogICAgICAgIH0gY2F0Y2ggKEFzc2VydGlvbkVycm9yIGUpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJEaXZpc2lvbiB0ZXN0IGZhaWxlZDogIiArIGUuZ2V0TWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9Cn0K