public static void GenerateParameterCodes() { string sharedDir = EditorPrefs.GetString("SharedDirLocation", null); if (sharedDir == null) { Debug.Log("SharedDir Location not specified"); return; } String jsonString = File.ReadAllText(sharedDir + "/ParameterCode"); JArray parameterCodeEntries = JArray.Parse(jsonString); List <string> parameterCodes = new List <string>(); foreach (JToken code in parameterCodeEntries) { parameterCodes.Add(code.Value <string>()); } EnumGenerator generator = new EnumGenerator("ParameterCode", parameterCodes.ToArray()); var classDefintion = generator.TransformText(); GenerateCodeFile("ParameterCode", classDefintion); }
public void EnumGenerator() { IEnumGenerator enumgenerator = new EnumGenerator(); Days daything = (Days)enumgenerator.Generate(random, typeof(Days)); Assert.IsNotNull(daything); }
public void SetUp() { builder = new StringBuilder(); writer = new StringWriter(builder); generator = new EnumGenerator(writer); }
private void AssertError(string expected, string args, int count, EnumGenerator.Mode mode) { EnumGenerator generator = new EnumGenerator(args, count, mode); Assert.AreEqual(expected, generator.error); Assert.AreEqual(0, generator.texts.Count, "Expected no texts when error"); }
void OnGUI() { if (GUILayout.Button("Clear Save")) { PlayerPrefs.DeleteAll(); } GUILayout.Space(20); GUILayout.Label("Wagon ID:"); wagonID = GUILayout.TextField(wagonID); if (GUILayout.Button("Add Wagon")) { var wagon = GameManager.Instance.WagonData.FirstOrDefault(w => w.ID == wagonID); if (wagon != null) { FindObjectOfType <Vehicle>().AddWagon(SerialisationUtility.DeserialiseWagon(wagon)); } else { Debug.LogError("Cant find wagon for name: " + wagonID); } } if (GUILayout.Button("GenerateEnums")) { EnumGenerator.GenerateEnumFile(); } }
public async System.Threading.Tasks.Task Run() { // root file path var rootFilePath = "src/SDK/Foundation"; var entities = Config["entities"]; EntityFactoryGenerator.GenerateEntityFactory(entities, rootFilePath, CompilationContainer); // generate entities foreach (var entity in entities) { var entityGroup = entity["group_id"].GetStringValue().ToPascal(); var entityNamePascal = entity["_key"].GetStringValue().ToPascal(); // generate entity enums EnumGenerator.GenerateEnums(entity, rootFilePath, entityGroup, entityNamePascal, CompilationContainer); // generate entity class EntityClassGenerator.GenerateEntityClass(entity, entityNamePascal, rootFilePath, entityGroup, CompilationContainer); if (entity["methods"].Any()) { EntityRepositoryGenerator.GenerateRepository(entity, entityNamePascal, rootFilePath, entityGroup, CompilationContainer); } } await CompilationContainer.Compile(); CompilationContainer.WriteFiles(); }
public async Task ExecuteInMemoryTest() { var fileName = ".\\test-project.mdj"; var project = await DVDpro.StarUML.FileFormat.Project.LoadAsync(fileName); var generator = new EnumGenerator(); using (var ms = new System.IO.MemoryStream()) { using (var outStream = new CSharpWriter(ms)) { foreach (var model in project.GetChildrenByType <DVDpro.StarUML.FileFormat.Nodes.UmlModelNode>()) { var enumNode = model.GetChildrenByType <DVDpro.StarUML.FileFormat.Nodes.UmlEnumerationNode>().First(r => r.Name == "MasterEnum"); generator.Generate(outStream, enumNode); } outStream.Flush(); ms.Seek(0, System.IO.SeekOrigin.Begin); using (var reader = new System.IO.StreamReader(ms)) { var output = reader.ReadToEnd(); Assert.Equal("/// <summary>\r\n/// Test enum comment\r\n/// multiline\r\n/// </summary>\r\npublic enum MasterEnum\r\n{\r\n /// <summary>test literal comment</summary>\r\n Literal1 = 0x1,\r\n\r\n Literal2\r\n}\r\n", output); } } } }
public static void GenerateEnum() { string sharedDir = EditorPrefs.GetString("SharedDirLocation", null); if (sharedDir == null) { Debug.Log("SharedDir Location not specified"); return; } DirectoryInfo enumDir = new DirectoryInfo(sharedDir + "/model/enums"); foreach (FileInfo file in enumDir.GetFiles()) { String jsonString = File.ReadAllText(file.FullName); JObject enumDescription = JObject.Parse(jsonString); string enumName = (string)enumDescription["name"]; JArray enumEntryArray = (JArray)enumDescription["variables"]; List <string> enumEntries = new List <string>(); foreach (JToken entry in enumEntryArray) { enumEntries.Add(entry.Value <string>()); } EnumGenerator generator = new EnumGenerator(enumName, enumEntries.ToArray()); var classDefintion = generator.TransformText(); GenerateCodeFile(enumName, classDefintion); } }
public void SetPossibleValues(XenReflectionProperty xRef, XenProperty xProp, Enum e) { if (xRef == null || xProp == null) { return; } xProp.XenType = CreateType(xRef); var item = GetItem(xProp.XenType.GetType()); var gen = new EnumGenerator(); var result = gen.Get(e.GetType()); if (item != null) { xProp.XenType.Descriptor = item.Descriptor; } xProp.XenType.PossibleValues = result; xProp.XenType.Descriptor |= XenPropertyDescriptors.Literals; if (e.HasFlags()) { xProp.XenType.Descriptor |= XenPropertyDescriptors.Flags; } }
public async Task ExecuteToFileTest() { var fileName = ".\\test-project.mdj"; var project = await DVDpro.StarUML.FileFormat.Project.LoadAsync(fileName); var tmpFile = System.IO.Path.GetTempFileName(); try { var generator = new EnumGenerator(); using (var outStream = new CSharpWriter(tmpFile)) { foreach (var model in project.GetChildrenByType <DVDpro.StarUML.FileFormat.Nodes.UmlModelNode>()) { var enumNode = model.GetChildrenByType <DVDpro.StarUML.FileFormat.Nodes.UmlEnumerationNode>().First(r => r.Name == "MasterEnum"); generator.Generate(outStream, enumNode); } } var output = await System.IO.File.ReadAllTextAsync(tmpFile); Assert.Equal("/// <summary>\r\n/// Test enum comment\r\n/// multiline\r\n/// </summary>\r\npublic enum MasterEnum\r\n{\r\n /// <summary>test literal comment</summary>\r\n Literal1 = 0x1,\r\n\r\n Literal2\r\n}\r\n", output); } finally { System.IO.File.Delete(tmpFile); } }
private void AssertRoman(string[] expected, string args, int count) { EnumGenerator generator = new EnumGenerator(args, count, EnumGenerator.Mode.Roman); Assert.IsNull(generator.error, "Error must be null"); CollectionAssert.AreEqual(expected, generator.texts); }
/// <summary> /// Default constructor for CSharpClientCodeGenerator. It initializes contained generators with their default values. /// </summary> public CSharpClientCodeGenerator() { this._webContextGenerator = new CSharpWebContextGenerator(); this._entityProxyGenerator = new CSharpEntityGenerator(); this._complexObjectGenerator = new CSharpComplexObjectGenerator(); this._domainContextGenerator = new CSharpDomainContextGenerator(); this._enumGenerator = new CSharpEnumGenerator(); }
public void EnumGeneratorTest() { var enumgenerator = new EnumGenerator(Enum.GetValues(typeof(CustomerType))); var enumvalue = enumgenerator.Generate(); Assert.IsNotNull(enumvalue); Assert.IsInstanceOf <CustomerType>(enumvalue); }
/// <summary> /// Default constructor for CSharpClientCodeGenerator. It initializes contained generators with their default values. /// </summary> public CSharpClientCodeGenerator() { this._webContextGenerator = new CSharpWebContextGenerator(); this._entityProxyGenerator = new CSharpEntityGenerator(); this._complexObjectGenerator = new CSharpComplexObjectGenerator(); this._domainContextGenerator = new CSharpDomainContextGenerator(); this._enumGenerator = new CSharpEnumGenerator(); }
public void Enum_WhenCreatingEnumWithAttribute_ShouldGenerateCorrectCode() { Assert.AreEqual("[Test]enumMyEnum{MyValue,MyOtherValue}", EnumGenerator.Create("MyEnum", new List <EnumMember> { new EnumMember("MyValue"), new EnumMember("MyOtherValue") }, attributes: new List <Attribute> { new Attribute("Test") }).ToString()); }
public override void OnInspectorGUI() { DrawDefaultInspector(); if (GUILayout.Button("Save changes")) { EnumGenerator.GenerateEnumFromStringList("AudioClipTypes", "AudioClipType", ((SoundsConfig)target).GetAvailableNames() .Where(objName => _provider.IsValidIdentifier(objName))); } }
public void RequestForEnumWithNoValuesThrowsObjectCreationException() { // Arrange var sut = new EnumGenerator(); // Act & assert var dummyContext = new DelegatingSpecimenContext(); Assert.Throws <ObjectCreationException>(() => sut.Create(typeof(EmptyEnum), dummyContext)); }
public void GeneratesEnum() { var generator = new EnumGenerator(); var random = new FuzzRandom(); var generatedValue = generator.Generate(Mock.Of <IFuzzProfile>(), typeof(TestEnum), random); Assert.IsTrue(generatedValue is TestEnum); }
public override string Generate(int indent) { if (Data != null) { var output = string.Empty; NamespaceGenerator @namespace = null; EnumGenerator @enum = null; if (string.IsNullOrEmpty(Data.title)) { return(output); } if (!string.IsNullOrEmpty(Data.category)) { @namespace = NamespaceGenerator.Namespace(Data.category); } @enum = EnumGenerator.Enum(Data.title.LegalMemberName()); indices.Clear(); for (int i = 0; i < Data.items.Count; i++) { if (!string.IsNullOrEmpty(Data.items[i].name)) { while (indices.Contains(Data.items[i].index)) { Data.items[i].index++; } indices.Add(Data.items[i].index); @enum.AddItem(Data.items[i].name, Data.items[i].index); } } @enum.indexing = Data.useIndex; #if VISUAL_SCRIPTING_1_7 if (Data.lastCompiledName != Data.GetFullTypeName()) { @enum.AddAttribute(AttributeGenerator.Attribute <RenamedFromAttribute>().AddParameter(Data.lastCompiledName)); } #endif if (@namespace != null) { @namespace.AddEnum(@enum); return(@namespace.Generate(indent)); } return(@enum.Generate(indent)); } return(string.Empty); }
private void DrawAddNewLanguageButton() { GUILayout.Space(8); EditorGUILayout.LabelField("Input new Language name:"); EditorGUI.BeginChangeCheck(); m_newLanguageName = EditorGUILayout.TextField(m_newLanguageName); if (EditorGUI.EndChangeCheck()) { m_showSureToDelete = false; m_languageToDelete = Languages.English; } if (showAddFeedback) { EditorGUILayout.HelpBox(m_newLanguageName + " added", MessageType.Info); framesFeedbackShown++; if (framesFeedbackShown >= 15) { framesFeedbackShown = 0; showAddFeedback = false; } } m_canAddNewLanguage = !string.IsNullOrEmpty(m_newLanguageName) && !Enum.IsDefined(typeof(Languages), m_newLanguageName) && TextFieldCheck(ref m_newLanguageName, true); string addButtonText = "Add new language"; if (Enum.IsDefined(typeof(Languages), m_newLanguageName)) { addButtonText = "Language already exists"; } if (!TextFieldCheck(ref m_newLanguageName, true)) { addButtonText = "Illegal characters detected"; } GUI.enabled = m_canAddNewLanguage; if (GUILayout.Button(addButtonText)) { List <string> possibleLanguage = Enum.GetNames(typeof(Languages)).ToList(); possibleLanguage.Add(m_newLanguageName); EnumGenerator.GenerateEnumFromList(Application.dataPath + LANGUAGES_ENUM_PATH, "Languages", possibleLanguage); showAddFeedback = true; } GUI.enabled = true; if (!TextFieldCheck(ref m_newLanguageName, true)) { EditorGUILayout.HelpBox("Languages are only allowed to consist of characters and numbers. \nNo numbers in the first position.", MessageType.Warning); } }
public void SutIsSpecimenBuilder() { // Arrange // Act var sut = new EnumGenerator(); // Assert Assert.IsAssignableFrom <ISpecimenBuilder>(sut); }
public void Enum_WhenCreatingEnumWithModifiers_ShouldGenerateCorrectCode() { Assert.AreEqual("publicenumMyEnum{MyValue,MyOtherValue}", EnumGenerator.Create("MyEnum", new List <EnumMember> { new EnumMember("MyValue"), new EnumMember("MyOtherValue") }, modifiers: new List <Modifiers>() { Modifiers.Public }).ToString()); }
private void BeforeGeneration() { if (!(string.IsNullOrEmpty(decorated.@namespace) || string.IsNullOrWhiteSpace(decorated.@namespace))) { @namespace = NamespaceGenerator.Namespace([email protected]()); } @enum = EnumGenerator.Enum(decorated.title); guid = decorated.GetGUID(); }
private static void ParseEngineApi() { StreamReader sr = new StreamReader("engineApi.xml"); string content = sr.ReadToEnd(); sr.Close(); EngineApi engineApi = EngineApiParser.Parse(content); Console.WriteLine(engineApi.Enums.Count); Console.WriteLine(engineApi.Structs.Count); Console.WriteLine(engineApi.Functions.Count); Console.WriteLine(engineApi.Classes.Count); foreach (EngineStruct engineStruct in engineApi.Structs) { if (engineStruct.Fields.Count < 1) { Console.WriteLine("No fields defined in struct: " + engineStruct.Name); } } // Careful!!! Don't choose the wrong directory or it might get deleted.. string outputDirectory = "../t3dsharp/T3DSharpFramework/Generated"; if (Directory.Exists(outputDirectory)) { Directory.Delete(outputDirectory, true); } engineApi.Enums .ForEach(e => e.Docs = DotNetXmlDocGenerator.Generate(EngineApiDocStringParser.Parse(e.Docs)).Trim()); engineApi.Structs .ForEach(s => s.Docs = DotNetXmlDocGenerator.Generate(EngineApiDocStringParser.Parse(s.Docs)).Trim()); engineApi.Functions .ForEach(f => f.Docs = DotNetXmlDocGenerator.Generate(EngineApiDocStringParser.Parse(f.Docs)).Trim()); engineApi.Classes .ForEach(c => c.Docs = DotNetXmlDocGenerator.Generate(EngineApiDocStringParser.Parse(c.Docs)).Trim()); engineApi.Classes .ForEach(c => c.Methods.ForEach(m => m.Docs = DotNetXmlDocGenerator.Generate(EngineApiDocStringParser.Parse(m.Docs)).Trim())); engineApi.Classes .ForEach(c => c.Properties.ForEach(p => p.Docs = DotNetXmlDocGenerator.Generate(EngineApiDocStringParser.Parse(p.Docs)).Trim())); EnumGenerator.GenerateFor(outputDirectory, engineApi, engineApi.Enums); StructGenerator.GenerateFor(outputDirectory, engineApi, engineApi.Structs); FunctionGenerator.GenerateFor(outputDirectory, engineApi, engineApi.Functions); ClassGenerator.GenerateFor(outputDirectory, engineApi, engineApi.Classes); PrimitiveSizesGenerator.GenerateFor(outputDirectory, engineApi, engineApi.Primitives); Console.WriteLine("Finished code generation."); }
public void SutIsSpecimenBuilder() { // Fixture setup // Exercise system var sut = new EnumGenerator(); // Verify outcome Assert.IsAssignableFrom <ISpecimenBuilder>(sut); // Teardown }
static private void SaveKeys(IList <Item> items, Type keyType, Object target) { var code = EnumGenerator.GetCode(keyType.Namespace, keyType.Name, items.Select(x => x.key)); var path = AssetDatabase.GetAssetPath(target); var pathID = Path.Combine(Path.GetDirectoryName(path), keyType.Name + ".cs"); File.WriteAllText(pathID, code); AssetDatabase.Refresh(ImportAssetOptions.Default); }
private void RefreshTagEnum() { List <string> tags = new List <string>(); tags.AddRange(m_englishFile.GetTags()); tags.Sort(); tags.Insert(0, "None"); EnumGenerator.GenerateLanguageFileTagsFromListWithPrevious(Application.dataPath + LocalizationManager.TagEnumPath, tags); }
public void RequestForEnumWithNoValuesThrowsObjectCreationException() { // Fixture setup var sut = new EnumGenerator(); // Exercise system and Verify outcome var dummyContext = new DelegatingSpecimenContext(); Assert.Throws <ObjectCreationException>(() => sut.Create(typeof(EmptyEnum), dummyContext)); // Teardown }
public void RequestForFlagEnumTypeReturnsCorrectResult(Type enumType, int requestCount, object expectedResult) { // Arrange var sut = new EnumGenerator(); // Act var dummyContext = new DelegatingSpecimenContext(); var result = Enumerable.Repeat <Func <object> >(() => sut.Create(enumType, dummyContext), requestCount).Select(f => f()).ToArray().Last(); // Assert Assert.Equal(expectedResult, result); }
public void RequestForEnumTypeReturnsCorrectResult(Type enumType, int requestCount, object expectedResult) { // Fixture setup var sut = new EnumGenerator(); // Exercise system var dummyContext = new DelegatingSpecimenContext(); var result = Enumerable.Repeat <Func <object> >(() => sut.Create(enumType, dummyContext), requestCount).Select(f => f()).Last(); // Verify outcome Assert.Equal(expectedResult, result); // Teardown }
string Render(EnumType enumType) { Symbols.MapTypeToPackage("myEnumFqn", enumType.Assembly); Symbols.MapNamespace(enumType.QualifiedNamespace, "MyNamespace"); Symbols.MapTypeName("myEnumFqn", "MyEnum", JsonModel.Spec.TypeKind.Enum); EnumGenerator generator = new EnumGenerator(enumType.Assembly, enumType, Symbols, Namespaces); SyntaxTree syntaxTree = generator.CreateSyntaxTree(); return(syntaxTree.ToString()); }
public void EnumGenerator() { IEnumGenerator enumgenerator = new EnumGenerator(); Days daything = (Days)enumgenerator.Generate(random, typeof(Days)); Assert.IsNotNull(daything); }
public ClassesGenerator(GeneratorData data, Translator translator) { this.data = data; this.translator = translator; eg = new EnumGenerator(data); }