@@ -0,0 +1,1850 @@
+package edu.kit.iti.formal.pse.worthwhile.interpreter;%0A%0Aimport java.math.BigInteger;%0A%0Aimport org.junit.Assert;%0Aimport org.junit.Test;%0A%0Aimport edu.kit.iti.formal.pse.worthwhile.common.tests.TestASTProvider;%0Aimport edu.kit.iti.formal.pse.worthwhile.model.BooleanValue;%0Aimport edu.kit.iti.formal.pse.worthwhile.model.IntegerValue;%0Aimport edu.kit.iti.formal.pse.worthwhile.model.Value;%0Aimport edu.kit.iti.formal.pse.worthwhile.model.ast.Program;%0Aimport edu.kit.iti.formal.pse.worthwhile.model.ast.Statement;%0A%0Apublic class DefaultValueTest %7B%0A%09%0A%09Interpreter interpreter;%0A%09%0A%09static Value value;%0A%09%0A%09private void assertIntegerValueEqualsDefault() %7B%0A%09%09interpreter.addExecutionEventHandler(new AbstractExecutionEventListener() %7B%0A%09%09%09@Override%0A%09%09%09public void statementExecuted(Statement statement) %7B%0A%09%09%09%09Assert.assertNotNull(interpreter.getSymbol(%22a%22));%0A%09%09%09%09Assert.assertTrue(interpreter.getSymbol(%22a%22) instanceof IntegerValue);%0A%09%09%09%09Assert.assertEquals(new BigInteger(%220%22), ((IntegerValue) interpreter.getSymbol(%22a%22)).getValue());%0A%09%09%09%7D%0A%09%09%7D);%0A%09%09%0A%09%7D%0A%09%0A%09private void assertBooleanValueEqualsDefault() %7B%0A%09%09interpreter.addExecutionEventHandler(new AbstractExecutionEventListener() %7B%0A%09%09%09@Override%0A%09%09%09public void statementExecuted(Statement statement) %7B%0A%09%09%09%09Assert.assertNotNull(interpreter.getSymbol(%22a%22));%0A%09%09%09%09Assert.assertTrue(interpreter.getSymbol(%22a%22) instanceof BooleanValue);%0A%09%09%09%09Assert.assertEquals(false, ((BooleanValue) interpreter.getSymbol(%22a%22)).getValue());%0A%09%09%09%7D%0A%09%09%7D);%0A%09%7D%0A%09%0A%09private void setup(String type) %7B%0A%09%09Program program = TestASTProvider.getRootASTNode(type + %22 a%5Cn%22);%0A%09%09this.interpreter = new Interpreter(program);%0A%09%7D%0A%09%0A%09@Test%0A%09public void testIntegerDefaultValue() %7B%0A%09%09setup(%22Integer%22);%0A%09%09this.assertIntegerValueEqualsDefault();%0A%09%7D%0A%09%0A%09@Test%0A%09public void testBooleanDefaultValue() %7B%0A%09%09setup(%22Boolean%22);%0A%09%09this.assertBooleanValueEqualsDefault();%0A%09%7D%0A%7D

Add DefaultValue test