package de.vksi.c4j.systemtest.old;
import static de.vksi.c4j.Condition.old;
import static de.vksi.c4j.Condition.postCondition;
import static org.junit.Assert.fail;
import org.apache.log4j.Level;
import org.junit.Rule;
import org.junit.Test;
import de.vksi.c4j.ContractReference;
import de.vksi.c4j.error.UsageError;
import de.vksi.c4j.systemtest.TransformerAwareRule;
public class ManyLocalVariablesSystemTest {
@Rule
public TransformerAwareRule transformerAware = new TransformerAwareRule();
@Test
public void testInvalidReferenceOnLocalVariable() {
transformerAware.expectGlobalLog(Level.ERROR, "Illegal access on local variable within old().");
try {
new TargetClassInvalidLocalVariable().invalidMethod();
fail("expected " + UsageError.class.getName());
} catch (UsageError e) {
}
}
@ContractReference(ContractClassInvalidLocalVariable.class)
private static class TargetClassInvalidLocalVariable {
public void invalidMethod() {
}
}
private static class ContractClassInvalidLocalVariable extends TargetClassInvalidLocalVariable {
@SuppressWarnings("unused")
@Override
public void invalidMethod() {
if (postCondition()) {
int localVar1 = 0;
int localVar2 = 0;
int localVar3 = 0;
int localVar4 = 0;
int localVar5 = 0;
int localVar6 = 0;
int localVar7 = 0;
int localVar8 = 0;
int localVar9 = 0;
int localVar10 = 0;
int localVar11 = 0;
int localVar12 = 0;
int localVar13 = 0;
int localVar14 = 0;
int localVar15 = 0;
int localVar16 = 0;
int localVar17 = 0;
int localVar18 = 0;
int localVar19 = 0;
int localVar20 = 0;
int localVar21 = 0;
int localVar22 = 0;
int localVar23 = 0;
int localVar24 = 0;
int localVar25 = 0;
int localVar26 = 0;
int localVar27 = 0;
int localVar28 = 0;
int localVar29 = 0;
int localVar30 = 0;
int localVar31 = 0;
int localVar32 = 0;
int localVar33 = 0;
int localVar34 = 0;
int localVar35 = 0;
int localVar36 = 0;
int localVar37 = 0;
int localVar38 = 0;
int localVar39 = 0;
int localVar40 = 0;
int localVar41 = 0;
int localVar42 = 0;
int localVar43 = 0;
int localVar44 = 0;
int localVar45 = 0;
int localVar46 = 0;
int localVar47 = 0;
int localVar48 = 0;
int localVar49 = 0;
int localVar50 = 0;
int localVar51 = 0;
int localVar52 = 0;
int localVar53 = 0;
int localVar54 = 0;
int localVar55 = 0;
int localVar56 = 0;
int localVar57 = 0;
int localVar58 = 0;
int localVar59 = 0;
int localVar60 = 0;
int localVar61 = 0;
int localVar62 = 0;
int localVar63 = 0;
int localVar64 = 0;
int localVar65 = 0;
int localVar66 = 0;
int localVar67 = 0;
int localVar68 = 0;
int localVar69 = 0;
int localVar70 = 0;
int localVar71 = 0;
int localVar72 = 0;
int localVar73 = 0;
int localVar74 = 0;
int localVar75 = 0;
int localVar76 = 0;
int localVar77 = 0;
int localVar78 = 0;
int localVar79 = 0;
int localVar80 = 0;
int localVar81 = 0;
int localVar82 = 0;
int localVar83 = 0;
int localVar84 = 0;
int localVar85 = 0;
int localVar86 = 0;
int localVar87 = 0;
int localVar88 = 0;
int localVar89 = 0;
int localVar90 = 0;
int localVar91 = 0;
int localVar92 = 0;
int localVar93 = 0;
int localVar94 = 0;
int localVar95 = 0;
int localVar96 = 0;
int localVar97 = 0;
int localVar98 = 0;
int localVar99 = 0;
int localVar100 = 0;
int localVar101 = 0;
int localVar102 = 0;
int localVar103 = 0;
int localVar104 = 0;
int localVar105 = 0;
int localVar106 = 0;
int localVar107 = 0;
int localVar108 = 0;
int localVar109 = 0;
int localVar110 = 0;
int localVar111 = 0;
int localVar112 = 0;
int localVar113 = 0;
int localVar114 = 0;
int localVar115 = 0;
int localVar116 = 0;
int localVar117 = 0;
int localVar118 = 0;
int localVar119 = 0;
int localVar120 = 0;
int localVar121 = 0;
int localVar122 = 0;
int localVar123 = 0;
int localVar124 = 0;
int localVar125 = 0;
int localVar126 = 0;
int localVar127 = 0;
int localVar128 = 0;
int localVar129 = 0;
int localVar130 = 0;
int localVar131 = 0;
int localVar132 = 0;
int localVar133 = 0;
int localVar134 = 0;
int localVar135 = 0;
int localVar136 = 0;
int localVar137 = 0;
int localVar138 = 0;
int localVar139 = 0;
int localVar140 = 0;
int localVar141 = 0;
int localVar142 = 0;
int localVar143 = 0;
int localVar144 = 0;
int localVar145 = 0;
int localVar146 = 0;
int localVar147 = 0;
int localVar148 = 0;
int localVar149 = 0;
int localVar150 = 0;
int localVar151 = 0;
int localVar152 = 0;
int localVar153 = 0;
int localVar154 = 0;
int localVar155 = 0;
int localVar156 = 0;
int localVar157 = 0;
int localVar158 = 0;
int localVar159 = 0;
int localVar160 = 0;
int localVar161 = 0;
int localVar162 = 0;
int localVar163 = 0;
int localVar164 = 0;
int localVar165 = 0;
int localVar166 = 0;
int localVar167 = 0;
int localVar168 = 0;
int localVar169 = 0;
int localVar170 = 0;
int localVar171 = 0;
int localVar172 = 0;
int localVar173 = 0;
int localVar174 = 0;
int localVar175 = 0;
int localVar176 = 0;
int localVar177 = 0;
int localVar178 = 0;
int localVar179 = 0;
int localVar180 = 0;
int localVar181 = 0;
int localVar182 = 0;
int localVar183 = 0;
int localVar184 = 0;
int localVar185 = 0;
int localVar186 = 0;
int localVar187 = 0;
int localVar188 = 0;
int localVar189 = 0;
int localVar190 = 0;
int localVar191 = 0;
int localVar192 = 0;
int localVar193 = 0;
int localVar194 = 0;
int localVar195 = 0;
int localVar196 = 0;
int localVar197 = 0;
int localVar198 = 0;
int localVar199 = 0;
int localVar200 = 0;
int localVar201 = 0;
int localVar202 = 0;
int localVar203 = 0;
int localVar204 = 0;
int localVar205 = 0;
int localVar206 = 0;
int localVar207 = 0;
int localVar208 = 0;
int localVar209 = 0;
int localVar210 = 0;
int localVar211 = 0;
int localVar212 = 0;
int localVar213 = 0;
int localVar214 = 0;
int localVar215 = 0;
int localVar216 = 0;
int localVar217 = 0;
int localVar218 = 0;
int localVar219 = 0;
int localVar220 = 0;
int localVar221 = 0;
int localVar222 = 0;
int localVar223 = 0;
int localVar224 = 0;
int localVar225 = 0;
int localVar226 = 0;
int localVar227 = 0;
int localVar228 = 0;
int localVar229 = 0;
int localVar230 = 0;
int localVar231 = 0;
int localVar232 = 0;
int localVar233 = 0;
int localVar234 = 0;
int localVar235 = 0;
int localVar236 = 0;
int localVar237 = 0;
int localVar238 = 0;
int localVar239 = 0;
int localVar240 = 0;
int localVar241 = 0;
int localVar242 = 0;
int localVar243 = 0;
int localVar244 = 0;
int localVar245 = 0;
int localVar246 = 0;
int localVar247 = 0;
int localVar248 = 0;
int localVar249 = 0;
int localVar250 = 0;
int localVar251 = 0;
int localVar252 = 0;
int localVar253 = 0;
int localVar254 = 0;
int localVar255 = 0;
int localVar256 = 0;
assert 3.0 == old(localVar256);
}
}
}
}