package fr.inria.diversify.ut; import fr.inria.diversify.codeFragment.CodeFragment; import fr.inria.diversify.codeFragment.CodeFragmentList; import fr.inria.diversify.diversification.InputProgram; import fr.inria.diversify.ut.diversification.FakeFragmentProcessor; import java.util.HashMap; /** * Created by marodrig on 12/01/2015. */ public class MockInputProgram extends InputProgram { /** * Fake the list of all the code fragments extracted by Spoon of the input program public synchronized CodeFragmentList getCodeFragments() { CodeFragmentList cf = new CodeFragmentList(); cf.add(new FakeCodeFragment("org.MyClass:1", "ctReturn", "return 0")); cf.add(new FakeCodeFragment("org.MyOtherClass:10", "ctIf", "if ( int == 0 ) int = 10")); cf.add(new FakeCodeFragment("org.MyOtherClass:100", "ctFor", "for ( int == 0; int < 10; int++ ) { int++ }")); return cf; }*/ @Override public void processCodeFragments() { if ( codeFragments == null ) codeFragments = new CodeFragmentList(); if ( codeFragmentsByClass == null ) codeFragmentsByClass = new HashMap<>(); if ( codeFragments.size() == 0 ) { FakeFragmentProcessor f = new FakeFragmentProcessor(); for( CodeFragment cf : f.getCodeFragments() ) codeFragments.add(cf); codeFragmentsByClass.putAll(f.getCodeFragmentsByClass()); } } }