コード例 #1
0
 private void ReadSettings()
 {
     if (!File.Exists(configFile))
     {
         SeraLogger.ConfigNotFound(Main.modName);
         SaveSettings();
     }
     else
     {
         try
         {
             SaveData loadedData = (SaveData)ConfigMaker.ReadData(configFile, typeof(SaveData));
             nitroEnabled          = Boolean.Parse(loadedData.NitrogenEnabled);
             nitroLethal           = Boolean.Parse(loadedData.IsLethal);
             damageScaler          = float.Parse(loadedData.DamageScaler);
             crushEnabled          = Boolean.Parse(loadedData.CrushEnabled);
             specialtyTanksEnabled = Boolean.Parse(loadedData.SpecialtyEnabled);
             decompressionVehicles = Boolean.Parse(loadedData.DecompressionVehiclesEnabled);
         }
         catch (Exception ex)
         {
             SeraLogger.ConfigReadError(Main.modName, ex);
             nitroEnabled          = true;
             nitroLethal           = true;
             damageScaler          = 1f;
             crushEnabled          = false;
             specialtyTanksEnabled = true;
             decompressionVehicles = false;
             SaveSettings();
         }
         Main.specialtyTanks = specialtyTanksEnabled;
     }
 }
コード例 #2
0
 private void ReadSettings()
 {
     if (!File.Exists(configFile))
     {
         SeraLogger.ConfigNotFound(Main.modName);
         SaveSettings();
     }
     else
     {
         try
         {
             SaveData loadedData = (SaveData)ConfigMaker.ReadData(configFile, typeof(SaveData));
             animationEnabled = Boolean.Parse(loadedData.AnimationsEnabled);
             imageEnabled     = Boolean.Parse(loadedData.ImagesEnabled);
             alphaValue       = byte.Parse(loadedData.ImageAlpha);
             sliderFloat      = float.Parse(loadedData.SliderValue);
         }
         catch (Exception ex)
         {
             SeraLogger.ConfigReadError(Main.modName, ex);
             animationEnabled = true;
             imageEnabled     = true;
             alphaValue       = 255;
             sliderFloat      = 100f;
             SaveSettings();
         }
     }
 }
コード例 #3
0
        public void ConfigMaker_Constructor_InitializesMembers()
        {
            //// Arrange
            ConfigMaker configMaker        = null;
            var         mockFileOperations = new Mock <IFileOperations>(MockBehavior.Strict);

            //// Act
            configMaker = new ConfigMaker(mockFileOperations.Object);

            //// Assert
            Assert.IsNotNull(configMaker.FileOperations);
            Assert.IsNotNull(configMaker.ActivityConfigEntries);
            Assert.IsTrue(configMaker.ActivityConfigEntries.Count > 0);
        }
コード例 #4
0
        public void ConfigMaker_Dump_CallsFileOperations_ToWriteActivityEntriesJson_ToFile()
        {
            //// Arrange
            var         mockFileOperations = new Mock <IFileOperations>(MockBehavior.Strict);
            ConfigMaker configMaker        = new ConfigMaker(mockFileOperations.Object);
            string      fileName           = "DeploymentConfig1.Json";

            mockFileOperations.Setup(fo => fo.Exists(It.Is <string>(path => path.Equals(fileName)))).Returns(false);
            mockFileOperations.Setup(fo => fo.WriteAllText(
                                         It.Is <string>(path => path.Equals(fileName)),
                                         It.Is <string>(contents => contents.Equals(configMaker.ActivityConfigEntries.ToJson()))
                                         )
                                     ).Verifiable();

            //// Act
            configMaker.Dump(fileName);

            //// Assert
            mockFileOperations.Verify();
        }
コード例 #5
0
 private void ReadSettings()
 {
     if (!File.Exists(Config))
     {
         SeraLogger.ConfigNotFound(Main.modName);
         SaveSettings();
     }
     else
     {
         try
         {
             biomeDisabled = (bool)ConfigMaker.ReadData(Config, typeof(bool));
         }
         catch (Exception ex)
         {
             SeraLogger.ConfigReadError(Main.modName, ex);
             biomeDisabled = true;
             SaveSettings();
         }
     }
 }
コード例 #6
0
        public void ConfigMaker_Dump_CallsFileOperations_GetsFileNameFromConfig_IfFileNameIsEmpty()
        {
            //// Arrange
            var         mockFileOperations = new Mock <IFileOperations>(MockBehavior.Strict);
            ConfigMaker configMaker        = new ConfigMaker(mockFileOperations.Object);
            string      fileName           = ConfigurationManager.AppSettings["ExecutorsConfigFile"].ToString();

            mockFileOperations.Setup(fo => fo.Exists(It.Is <string>(path => path.Equals(fileName)))).Returns(true);
            mockFileOperations.Setup(fo => fo.Copy(It.Is <string>(path => path.Equals(fileName)),
                                                   It.IsAny <string>())).Verifiable();
            mockFileOperations.Setup(fo => fo.WriteAllText(
                                         It.Is <string>(path => path.Equals(fileName)),
                                         It.Is <string>(contents => contents.Equals(configMaker.ActivityConfigEntries.ToJson()))
                                         )
                                     ).Verifiable();

            //// Act
            configMaker.Dump(""); // Passing empty name

            //// Assert
            mockFileOperations.Verify();
        }
コード例 #7
0
        public void ConfigMaker_Dump_CallsFileOperations_AppendsJsonToFileName()
        {
            //// Arrange
            var         mockFileOperations = new Mock <IFileOperations>(MockBehavior.Strict);
            ConfigMaker configMaker        = new ConfigMaker(mockFileOperations.Object);
            string      fileName           = "DeploymentConfig";
            string      fileNameJson       = "DeploymentConfig.json";

            mockFileOperations.Setup(fo => fo.Exists(It.Is <string>(path => path.Equals(fileNameJson, StringComparison.CurrentCultureIgnoreCase)))).Returns(true);
            mockFileOperations.Setup(fo => fo.Copy(It.Is <string>(path => path.Equals(fileNameJson, StringComparison.CurrentCultureIgnoreCase)),
                                                   It.IsAny <string>())).Verifiable();
            mockFileOperations.Setup(fo => fo.WriteAllText(
                                         It.Is <string>(path => path.Equals(fileNameJson, StringComparison.CurrentCultureIgnoreCase)),
                                         It.Is <string>(contents => contents.Equals(configMaker.ActivityConfigEntries.ToJson()))
                                         )
                                     ).Verifiable();

            //// Act
            configMaker.Dump(fileName); // Passing name without json extension

            //// Assert
            mockFileOperations.Verify();
        }
コード例 #8
0
        public void ConfigMaker_Dump_CallsFileOperations_BacksUp_ExistingFile_BeforeWriting()
        {
            //// Arrange
            var         mockFileOperations = new Mock <IFileOperations>(MockBehavior.Strict);
            ConfigMaker configMaker        = new ConfigMaker(mockFileOperations.Object);
            string      fileName           = "DeploymentConfig1.Json";

            // pass file.exists as true
            mockFileOperations.Setup(fo => fo.Exists(It.Is <string>(path => path.Equals(fileName)))).Returns(true);
            mockFileOperations.Setup(fo => fo.Copy(It.Is <string>(path => path.Equals(fileName)),
                                                   It.IsAny <string>())).Verifiable();
            mockFileOperations.Setup(fo => fo.WriteAllText(
                                         It.Is <string>(path => path.Equals(fileName)),
                                         It.Is <string>(contents => contents.Equals(configMaker.ActivityConfigEntries.ToJson()))
                                         )
                                     ).Verifiable();

            //// Act
            configMaker.Dump(fileName);

            //// Assert
            mockFileOperations.Verify();
        }
コード例 #9
0
 private void SaveSettings()
 {
     ConfigMaker.WriteData(configFile, new SaveData(animationEnabled, imageEnabled, alphaValue, sliderFloat));
 }
コード例 #10
0
 private void SaveSettings()
 {
     ConfigMaker.WriteData(configFile, new SaveData(nitroEnabled, nitroLethal, damageScaler, crushEnabled, specialtyTanksEnabled, decompressionVehicles));
 }
コード例 #11
0
 private void SaveSettings()
 {
     ConfigMaker.WriteData(Config, biomeDisabled);
 }