public void GetProperties_SystemFieldsThatAreNotOnObject_CreatedCorrectly()
        {
            //ARRANGE
            var fieldGuid = Guid.NewGuid();
            var def       = new ObjectDef();

            def.Fields = new List <Field>
            {
                new Field("ExtractedText", FieldTypes.LongText, true)
                {
                    Guid = fieldGuid.ToString()
                }
            };

            //ACT
            var text = _writer.WriteClasses(new Application
            {
                Objects = new List <ObjectDef> {
                    def
                }
            });

            var members = ParseTestHelper.GetProperties(text);

            //ASSERT
            Assert.Contains(members,
                            x => x.ToString()
                            .EqualsIgnoreWhitespace("public string ExtractedText { get { return base.Artifact.GetValue<string>(Guid.Parse(FieldGuids.ExtractedText)); } set { base.Artifact.SetValue(Guid.Parse(FieldGuids.ExtractedText), value); } }"));
        }
        public void GetProperties_NameFieldsThatAreNotOnObject_CreatedTextIdentifier()
        {
            //ARRANGE
            var def = new ObjectDef();

            def.Fields = new List <Field>
            {
                new Field("Name", FieldTypes.FixedLength, true)
            };

            //ACT
            var text = _writer.WriteClasses(new Application
            {
                Objects = new List <ObjectDef> {
                    def
                }
            });

            var members = ParseTestHelper.GetProperties(text);

            //ASSERT
            //ASSERT
            Assert.Contains(members,
                            x => x.ToString()
                            .EqualsIgnoreWhitespace("public string Name { get { return base.Artifact.TextIdentifier; } set { base.Artifact.TextIdentifier = value; } }"));
        }
예제 #3
0
 public void TestParseMapTriggerStrings(string mapTriggerStringsFilePath)
 {
     ParseTestHelper.RunStreamRWTest(
         mapTriggerStringsFilePath,
         typeof(MapTriggerStrings),
         nameof(StreamWriterExtensions.WriteTriggerStrings));
 }
        public void GetProperties_PassInArtifactID_skips()
        {
            //ARRANGE
            var def = new ObjectDef();

            def.Fields = new List <Field>()
            {
                new Field
                {
                    Name = "ArtifactID"
                }
            };

            //ACT
            var text = _writer.WriteClasses(new Application
            {
                Objects = new List <ObjectDef> {
                    def
                }
            });

            //ASSERT
            var members = ParseTestHelper.GetProperties(text).Select(x => x.Identifier.Text);

            Assert.DoesNotContain(members, x => x == "ArtifactID");
        }
예제 #5
0
 public void TestParseMapImportedFiles(string mapImportedFilesFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(
         mapImportedFilesFilePath,
         typeof(MapImportedFiles),
         nameof(BinaryReaderExtensions.ReadImportedFiles),
         false);
 }
예제 #6
0
 public void TestParseCampaignImportedFiles(string campaignImportedFilesFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(
         campaignImportedFilesFilePath,
         typeof(CampaignImportedFiles),
         nameof(BinaryReaderExtensions.ReadImportedFiles),
         true);
 }
        public void WriteApplicationDefinition_EnsureNameGetsWrittenCorrectly()
        {
            //ARRANGE
            var application = new Application();

            application.Name = "appName";
            application.Guid = "635c6cbe-e370-49e8-be45-059fa5979ad5";

            //ACT
            var writer = new ApplicationWriter();
            var text   = writer.WriteApplicationDefinition(application);

            //ASSERT
            var props = ParseTestHelper.GetClassDefinition(text).Members.ToArray();

            Assert.Equal("public const string Name = \"appName\";", props[0].ToString(), ignoreWhiteSpaceDifferences: true);
            Assert.Equal("public const string Guid = \"635c6cbe-e370-49e8-be45-059fa5979ad5\";", props[1].ToString(), ignoreWhiteSpaceDifferences: true);
        }
예제 #8
0
        public void WriteScripts_ScriptGuidCorrect()
        {
            //ARRANGE
            var app = new Application();

            app.Tabs = new List <Tab> {
                new Tab
                {
                    Name = "testTab",
                    Guid = "ac4a4f4c-b9af-4c87-8fb4-35ca0f4a9b63"
                }
            };

            //ACT
            var writer = new TabWriter();
            var text   = writer.WriteTabGuids(app);

            //ASSERT
            var properties = ParseTestHelper.GetClassDefinition(text).Members.First();

            Assert.Equal("public const string testTab = \"ac4a4f4c-b9af-4c87-8fb4-35ca0f4a9b63\";", properties.ToString(), ignoreWhiteSpaceDifferences: true);
        }
예제 #9
0
        public void WriteScripts_ScriptGuidCorrect()
        {
            //ARRANGE
            var app = new Application();

            app.Scripts = new List <Script> {
                new Script
                {
                    Name = "testScript",
                    Guid = "ac4a4f4c-b9af-4c87-8fb4-35ca0f4a9b63"
                }
            };

            //ACT
            var writer = new ScriptWriter();
            var text   = writer.WriteScripts(app);

            //ASSERT
            var classDefinition = ParseTestHelper.GetClassDefinition(text);
            var properties      = (FieldDeclarationSyntax)classDefinition.Members[0];

            Assert.Equal("public const string testScript = \"ac4a4f4c-b9af-4c87-8fb4-35ca0f4a9b63\";", properties.ToString(), ignoreWhiteSpaceDifferences: true);
        }
예제 #10
0
        public void GetProperties_SystemFieldsAreFormedCorrectly()
        {
            //ARRANGE
            var def = new ObjectDef();

            def.Fields = new List <Field> {
                new Field("SystemCreatedBy", FieldTypes.User, true)
            };

            //ACT
            var text = _writer.WriteClasses(new Application
            {
                Objects = new List <ObjectDef> {
                    def
                }
            });

            var members = ParseTestHelper.GetProperties(text);

            //ASSERT
            Assert.Contains(members,
                            x => x.ToString().EqualsIgnoreWhitespace("public User SystemCreatedBy { get { return base.Artifact.SystemCreatedBy; } }"));
        }
예제 #11
0
        public void GetProperties_SystemFieldsAreAdded(string fieldName, FieldTypes fieldType, string fieldTypeName)
        {
            //ARRANGE
            var def = new ObjectDef();

            def.Fields = new List <Field>
            {
                new Field(fieldName, fieldType, true)
            };

            //ACT
            var text = _writer.WriteClasses(new Application
            {
                Objects = new List <ObjectDef> {
                    def
                }
            });

            var members = ParseTestHelper.GetProperties(text);

            //ASSERT
            Assert.Contains(members, x => x.Identifier.Text == fieldName && x.Type.ToString() == fieldTypeName);
        }
예제 #12
0
 public void TestParseMapDoodads(string mapDoodadsFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(mapDoodadsFilePath, typeof(MapDoodads));
 }
예제 #13
0
 private static void TestParseMapCustomTextTriggers(string mapCustomTextTriggersFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(mapCustomTextTriggersFilePath, typeof(MapCustomTextTriggers), additionalReadParameters: new object[] { Encoding.UTF8 }, additionalWriteParameters: new object[] { Encoding.UTF8 });
 }
예제 #14
0
 public void TestParseMapAbilityObjectData(string mapAbilityObjectDataFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(mapAbilityObjectDataFilePath, typeof(MapAbilityObjectData), nameof(BinaryReaderExtensions.ReadAbilityObjectData), false);
 }
예제 #15
0
 public void TestParseMapAudio(string mapSoundsFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(mapSoundsFilePath, typeof(MapSounds));
 }
예제 #16
0
 public void TestParseMapPreviewIcons(string iconsFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(iconsFilePath, typeof(MapPreviewIcons));
 }
 public void TestParseCampaignItemObjectData(string campaignItemObjectDataFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(campaignItemObjectDataFilePath, typeof(CampaignItemObjectData), nameof(BinaryReaderExtensions.ReadItemObjectData), true);
 }
예제 #18
0
 public void TestParseMapPathingMap(string mapPathingMapFile)
 {
     ParseTestHelper.RunBinaryRWTest(mapPathingMapFile, typeof(MapPathingMap));
 }
예제 #19
0
 public void TestParseCampaignInfo(string campaignInfoFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(campaignInfoFilePath, typeof(CampaignInfo));
 }
예제 #20
0
 public void TestParseMapCameras(string camerasFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(camerasFilePath, typeof(MapCameras));
 }
예제 #21
0
 private static void TestParseMapTriggers(string mapTriggersFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(mapTriggersFilePath, typeof(MapTriggers), additionalReadParameters: TriggerData.Default);
 }
예제 #22
0
 public void TestParseMapRegions(string regionsFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(regionsFilePath, typeof(MapRegions));
 }
예제 #23
0
 public void TestParseMapEnvironment(string environmentFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(environmentFilePath, typeof(MapEnvironment));
 }
예제 #24
0
 private static void TestParseMapInfoInternal(string mapInfoFilePath)
 {
     ParseTestHelper.RunBinaryRWTest(mapInfoFilePath, typeof(MapInfo));
 }