public void SimpleWhile() { var tmpClass = @" package org; public class Class1 { public void OneSmallerThanTwo(int in1, int in2){ while(true){ return true; } } } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; var tmpStatement = (tmpMethodeContent.Code.CodeEntries[0]) as StatementCode; //Statement IF Assert.AreEqual(StatementTypeEnum.While, tmpStatement.StatementType); //Inner Content (return true); Assert.AreNotEqual(null, tmpStatement.InnerContent); //IF Statement (in1<in2) Assert.AreNotEqual(null, tmpStatement.StatementCodeBlocks[0]); }
public void IfWithElseifAndElse() { var tmpClass = @" package org; public class Class1 { public void OneSmallerThanTwo(int in1, int in2){ if(in1<in2) return 1; else if(in1<in2) return 2; else return 3; } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; var tmpStatementId = (tmpMethodeContent.Code.CodeEntries[0]) as StatementCode; var tmpStatementElse = (tmpMethodeContent.Code.CodeEntries[1]) as StatementCode; //Statement IF Assert.AreEqual(StatementTypeEnum.If, tmpStatementId.StatementType); Assert.AreEqual(StatementTypeEnum.Else, tmpStatementElse.StatementType); //Inner Content (return true); Assert.AreEqual(1, tmpStatementId.InnerContent.CodeEntries.Count); Assert.AreEqual(2, tmpStatementElse.InnerContent.CodeEntries.Count); //IF Statement (in1<in2) Assert.AreNotEqual(null, tmpStatementId.StatementCodeBlocks[0]); Assert.AreNotEqual(null, tmpStatementElse.StatementCodeBlocks[0]); }
public void SimpleFor() { var tmpClass = @" package org; public class Class1 { public void forIInLength(int len){ for(int i=0;i<len;i++) { i--; } return false; } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; var tmpStatement = (tmpMethodeContent.Code.CodeEntries[0]) as StatementCode; //Statement IF Assert.AreEqual(StatementTypeEnum.For, tmpStatement.StatementType); //Inner Content (return true); Assert.AreEqual(VariableOperatorType.MinusMinus, (tmpStatement.InnerContent.CodeEntries[0] as CodeExpression).Manipulator); //Inner Content (return true); Assert.AreEqual(VariableOperatorType.PlusPlus, (tmpStatement.StatementCodeBlocks[2].CodeEntries[0] as CodeExpression).Manipulator); }
public void SimpleReturnElvis() { var tmpClass = @" package org; public class Class1 { public void OneSmallerThanTwo(bool inFirst,int in1, int in2){ return inFirst? in1:in2; } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterJavaToCSharp()).ToList(); var tmpExpectedResult = @" namespace org { public class Class1 { public void OneSmallerThanTwo(bool inFirst, int in1, int in2) { return inFirst ? in1 : in2; } } } "; //Check Elvis Result Assert.AreEqual(tmpExpectedResult, tmpResult[0].Content); }
public void CheckAccountableInterfaceComments() { var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { JavaBits }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); new NamingConvertionHelper(new ConverterLucene()).ConvertProject(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterLucene()).ToList(); Assert.AreEqual(1, tmpResult.Count); Assert.AreEqual("Accountable", tmpResult[0].FullName); //Check for no double Comments Assert.AreEqual(false, tmpResult[0].Content.Contains("/*/*")); //Check for no double Comments int tmpCommentLineCount = new Regex(Regex.Escape("///")).Matches(tmpResult[0].Content).Count; Assert.AreEqual(29, tmpCommentLineCount); Assert.AreEqual(true, tmpResult[0].Content.Contains("Collections.emptyList();")); Assert.AreEqual(true, tmpResult[0].Content.Contains("public Collection<Accountable>")); }
public void ClassCreationWithOveride() { var tmpClass = @"public abstract class LongValues { /** Get value at <code>index</code>. */ public abstract long get(long index); /** An instance that returns the provided value. */ public static final LongValues IDENTITY = new LongValues() { @Override public long get(long index) { return index; } }; }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpInnerClassMethode = tmpObjectInformation.ClassList[0].InnerClasses[0].MethodeList[0]; //Statement Elvis Assert.AreEqual("get", tmpInnerClassMethode.Name); Assert.AreEqual("LongValues_0", tmpObjectInformation.ClassList[0].InnerClasses[0].Name); }
public void DoubleConversionExplizit() { var tmpClass = @" package org; public class Class1 { public void Run(){ var tmpValue=(Int32)(String)Value; } } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; var tmpCodeLine1 = (tmpMethodeContent.Code.CodeEntries[0] as VariableDeclaration); Assert.AreEqual("tmpValue", tmpCodeLine1.Name); var tmpFirstConversion = tmpMethodeContent.Code.CodeEntries[1] as TypeConversion; var tmpSecondConversion = (tmpFirstConversion.PreconversionValue.CodeEntries[0] as TypeConversion); Assert.AreEqual("Int32", tmpFirstConversion.Type.ToString()); Assert.AreEqual("String", tmpSecondConversion.Type.ToString()); Assert.AreEqual("Value", (tmpSecondConversion.PreconversionValue.CodeEntries[0] as ConstantValue).Value); }
public void CheckBits1() { var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { JavaBits }, tmpIniData); var tmpAnalyerSettings = new AnalyzerSettings(); var tmpUnknownTypeCounter = 0; tmpAnalyerSettings.UnknownTypeAdded += (UnknownTypeClass inItem) => { tmpUnknownTypeCounter++; }; new AnalyzerCore().LinkProjectInformation(tmpObjectInformation, tmpAnalyerSettings); new NamingConvertionHelper(new ConverterLucene()).ConvertProject(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterLucene()).ToList(); Assert.AreEqual(1, tmpResult.Count); Assert.AreEqual("Bits", tmpResult[0].FullName); //Check for inner classes existing //Expecting four unknown Types: true, false, int and boolean, two which I have not yet added a Pre-Runtime class Assert.AreEqual(0, tmpUnknownTypeCounter); Assert.AreEqual(true, tmpResult[0].Content.Contains("MatchAllBits")); Assert.AreEqual(true, tmpResult[0].Content.Contains("this.len = inLen;")); Assert.AreEqual(true, tmpResult[0].Content.Contains("Bits[] EMPTY_ARRAY = new Bits[0];")); }
public void SimpleAssert() { var tmpClass = @" package org; public class Class1 { public void OneSmallerThanTwo(int in1, int in2){ assert in1>0; } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterJavaToCSharp()).ToList(); var tmpExpectedResult = @" namespace org { public class Class1 { public void OneSmallerThanTwo(int in1, int in2) { Trace.Assert (in1 > 0); } } } "; //Statement IF Assert.AreEqual(tmpExpectedResult, tmpResult[0].Content); }
public void ClassCreationWithOveride() { var tmpClass = @"public abstract class LongValues { /** Get value at <code>index</code>. */ public abstract long get(long index); /** An instance that returns the provided value. */ public static final LongValues IDENTITY = new LongValues() { @Override public long get(long index) { return index; } }; }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); new NamingConvertionHelper(new ConverterLucene()).ConvertProject(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterJavaToCSharp()).ToList(); var tmpExpectedResult = @" namespace { public abstract class LongValues { /// <summary> /// An instance that returns the provided value. /// </summary> public readonly static LongValues IDENTITY = new LongValues_0(); public abstract long Get(long inIndex); public class LongValues_0 : LongValues { public override long Get(long inIndex) { return inIndex; } } } } "; //Check Elvis Result Assert.AreEqual(tmpExpectedResult, tmpResult[0].Content); }
public void ClassWithGeneric() { var tmpClass = @" package org.apache.lucene.util; public class Class1<object> {} "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); Assert.AreEqual(1, tmpObjectInformation.ClassList.Count); Assert.AreEqual("object", tmpObjectInformation.ClassList[0].Type.GenericTypes[0].Name); }
public void ClassListWithOneClass() { var tmpClass = @" package org; public class Class1 {} "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); Assert.AreEqual(1, tmpObjectInformation.ClassList.Count); Assert.AreEqual("Class1", tmpObjectInformation.ClassList[0].Name); }
public void ClassWithImport() { var tmpClass = @" package org.apache.lucene.util; import System.IO; public class Class1 {} "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); Assert.AreEqual(1, tmpObjectInformation.ClassList.Count); Assert.AreEqual("System.IO", tmpObjectInformation.ClassList[0].UsingList[0]); }
public void NamespaceComment() { var tmpClass = @" /*Namespace Comment*/ package org.apache.lucene.util; public class Class1 {} "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); Assert.AreEqual(1, tmpObjectInformation.ClassList.Count); Assert.AreEqual("/*Namespace Comment*/", tmpObjectInformation.ClassList[0].NamespaceComment); }
public void ClassWithMultipleGenericTypes() { var tmpClass = @" package org.apache.lucene.util; public class Class1<Type,object[]> {} "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); Assert.AreEqual(2, tmpObjectInformation.ClassList[0].Type.GenericTypes.Count); Assert.AreEqual("Type", tmpObjectInformation.ClassList[0].Type.GenericTypes[0].Name); Assert.AreEqual(true, tmpObjectInformation.ClassList[0].Type.GenericTypes[1].IsArray); }
public void IfWIthConstant() { var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { JavaClass }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterJavaToCSharp()).ToList(); Assert.AreEqual(1, tmpResult.Count); Assert.AreEqual("Class1", tmpResult[0].FullName); Assert.AreEqual(CSharpResult1, tmpResult[0].Content); }
public void MethodeReturnVoid() { var tmpClass = @" package org; public class Class1 { public void Run(){} }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpClass1 = tmpObjectInformation.ClassList[0]; Assert.AreEqual("void", tmpClass1.MethodeList[0].ReturnType.Name); }
public void MethodeGenericType() { var tmpClass = @" package org; public class Class1 { public <IClassType> void Run(){} }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpClass1 = tmpObjectInformation.ClassList[0]; Assert.AreEqual("IClassType", tmpClass1.MethodeList[0].GenericTypes[0].Name); }
public void MethodeWithGenericParameter() { var tmpClass = @" package org; public class Class1 { public void Run(Class1<int> inValue){} }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethode1 = tmpObjectInformation.ClassList[0].MethodeList[0]; Assert.AreEqual("int", tmpMethode1.Parameter[0].Type.GenericTypes[0].Name); }
public void MethodeWithMultipleParameter() { var tmpClass = @" package org; public class Class1 { public void Run(int inValue1,string inStirng, Class1 inCLass){} }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethode1 = tmpObjectInformation.ClassList[0].MethodeList[0]; Assert.AreEqual(3, tmpMethode1.Parameter.Count); }
public void IfWIthConstant() { var tmpClass = @" package org; public class Class1 { public void Run(){ if(true){} }}"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0].Code.CodeEntries[0]; Assert.AreEqual(StatementTypeEnum.If, (tmpMethodeContent as StatementCode).StatementType); }
public void SimpleFor() { var tmpClass = @" package org; public class Class1 { public void forIInLength(int len){ for(int i=0;i<len;i++) { i--; } return false; } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); new NamingConvertionHelper(new ConverterLucene()).ConvertProject(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterJavaToCSharp()) .ToList() .Last(); var tmpExpectedResult = @" namespace org { public class Class1 { public void ForIInLength(int inLen) { for (int i = 0:(i < inLen):i++) { i--; } return false; } } } "; //Check Elvis Result Assert.AreEqual(tmpExpectedResult, tmpResult.Content); }
public void SimpleWhile() { var tmpClass = @" package org; public class Class1 { public void OneSmallerThanTwo(){ while(true){ return true; } } } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); new AnalyzerCore().LinkProjectInformation(tmpObjectInformation); new NamingConvertionHelper(new ConverterLucene()).ConvertProject(tmpObjectInformation); var tmpResult = CSharpWriter.CreateClassesFromObjectInformation(tmpObjectInformation, new ConverterJavaToCSharp()) .ToList() .Last(); var tmpExpectedResult = @" namespace org { public class Class1 { public void OneSmallerThanTwo() { while (true) { return true; } } } } "; //Check Elvis Result Assert.AreEqual(tmpExpectedResult, tmpResult.Content); }
public void MultipleMethods() { var tmpClass = @" package org; public class Class1 { public void Run() {} public void OtherMethode(){} }"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpClass1 = tmpObjectInformation.ClassList[0]; Assert.AreEqual(2, tmpClass1.MethodeList.Count); Assert.AreEqual("OtherMethode", tmpClass1.MethodeList[1].Name); }
public void SuperCallInCOnstructor() { var tmpClass = @" package org; public final class ThreadInterruptedException extends RuntimeException { public ThreadInterruptedException(InterruptedException ie) { super(ie); }}"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; var tmpCodeLine1 = (tmpMethodeContent.Code.CodeEntries[0]) as MethodeCall; Assert.AreEqual("super", tmpCodeLine1.Name); }
public void Class_Extends1() { var tmpClass = @" package org.apache.lucene.util; public class Accountable<T> extends object<T>{ bool Get(int inIndex) }"; var tmpIniData = DataHelper.LoadIni(""); var tmpProjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpClass1 = tmpProjectInformation.ClassList[0]; Assert.AreEqual(1, tmpClass1.InterfaceList.Count); Assert.AreEqual("object", tmpClass1.InterfaceList[0].Name); }
public void SetVariableWithMultiplyCalculationWithSubElementCheck() { var tmpClass = @" package org; public class Class1 { public void Run(int inResult){ inResult=4*6; }}"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0].Code.CodeEntries[0]; var tmpVarSetter = (tmpMethodeContent) as SetFieldWithValue; Assert.AreEqual("inResult", (tmpVarSetter.VariableToAccess.CodeEntries[0] as ConstantValue).Value); Assert.AreEqual(2, (tmpVarSetter.ValueToSet.CodeEntries[0] as CodeExpression).SubClauseEntries.Count); }
public void CalculationWithoutOrderOfMath() { var tmpClass = @" package org; public class Class1 { public void Run(int inResult){ inResult=4*6+6-3*2; }}"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0].Code.CodeEntries[0]; var tmpVarSetter = (tmpMethodeContent) as SetFieldWithValue; Assert.AreEqual("inResult", tmpVarSetter.VariableToAccess.CodeEntries[0].ToString()); Assert.AreEqual("(((4 Multiplication 6) Addition 6) Substraction (3 Multiplication 2))", tmpVarSetter.ValueToSet.ToString()); }
public void CallUnknownMethodeOnItselfNoAnalyzer() { var tmpClass = @" package org; public class Class1 { public void Run(){ NotRun(); }}"; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; Assert.AreEqual(1, tmpMethodeContent.Code.CodeEntries.Count); Assert.AreEqual("NotRun", (tmpMethodeContent.Code.CodeEntries[0] as MethodeCall).Name); Assert.AreEqual(0, (tmpMethodeContent.Code.CodeEntries[0] as MethodeCall).Parameter.Count); }
public void MethodeVariableWithSimpleValueSetAsString() { var tmpClass = @" package org; public class Class1 { public void Run(){ var tmpStr=""0""; } } "; var tmpIniData = DataHelper.LoadIni(""); var tmpObjectInformation = new JavaLoader().CreateObjectInformation(new List <string> { tmpClass }, tmpIniData); var tmpMethodeContent = tmpObjectInformation.ClassList[0].MethodeList[0]; Assert.AreEqual("\"0\"", (tmpMethodeContent.Code.CodeEntries[1] as ConstantValue).Value); }