Ejemplo n.º 1
0
        public void AllColorFieldsAreReadWriteable()
        {
            var cc = new ChromaColors();
            var c  = Color.Yellow;

            var colorProps = typeof(ChromaColors)
                             .GetProperties()
                             .Where(x => x.PropertyType == typeof(Color));

            foreach (var pi in colorProps)
            {
                pi.SetValue(cc, c);
                var c2 = (Color)pi.GetValue(cc);
                Assert.Equal(c, c2);
            }
        }
Ejemplo n.º 2
0
        public void InvalidColorValuesFromJsonFallBackToDefaultValue(object faultyValue)
        {
            var ccDefaults = new ChromaColors();

            using var tf = new TestFolder(Path.GetDirectoryName(_appSettingsPath));
            var settingsFile = tf.Resolve(Path.GetFileName(_appSettingsPath));

            var jo = (JObject)JsonConvert.DeserializeObject(File.ReadAllText(settingsFile));

            jo["Colors"]["HardpointsToggle"] = JToken.FromObject(faultyValue);
            File.WriteAllText(settingsFile, JsonConvert.SerializeObject(jo));

            var settings = AppSettings.Load(settingsFile);

            Assert.Equal(ccDefaults.HardpointsToggle, settings.Colors.HardpointsToggle);
        }
Ejemplo n.º 3
0
        public void InvalidBrightnessValuesFromJsonFallBackToDefaultValue()
        {
            var ccDefaults = new ChromaColors();

            using var tf = new TestFolder(Path.GetDirectoryName(_appSettingsPath));
            var settingsFile = tf.Resolve(Path.GetFileName(_appSettingsPath));

            var jo = (JObject)JsonConvert.DeserializeObject(File.ReadAllText(settingsFile));

            jo["Colors"]["DeviceDimBrightness"] = "NOT-A-NUMBER";
            File.WriteAllText(settingsFile, JsonConvert.SerializeObject(jo));

            var settings = AppSettings.Load(settingsFile);

            Assert.Equal(ccDefaults.DeviceDimBrightness, settings.Colors.DeviceDimBrightness);
        }
Ejemplo n.º 4
0
        public void PipsAreRecalculatedOnColorChanges()
        {
            var cc = new ChromaColors();

            Assert.Equal(Color.Red, cc.PowerDistributor0);
            Assert.Equal(Color.Yellow, cc.PowerDistributor100);

            Assert.Equal(Color.Red, cc.PowerDistributorScale[0]);
            Assert.Equal(Color.FromRgb(0xFF7F00), cc.PowerDistributorScale[4]);
            Assert.Equal(Color.Yellow, cc.PowerDistributorScale[8]);

            cc.PowerDistributor0 = Color.Blue;

            Assert.Equal(Color.Blue, cc.PowerDistributorScale[0]);
            Assert.Equal(Color.FromRgb(0x7F7F7F), cc.PowerDistributorScale[4]);
            Assert.Equal(Color.Yellow, cc.PowerDistributorScale[8]);

            cc.PowerDistributor100 = Color.Green;

            Assert.Equal(Color.Blue, cc.PowerDistributorScale[0]);
            Assert.Equal(Color.FromRgb(0x007F7F), cc.PowerDistributorScale[4]);
            Assert.Equal(Color.Green, cc.PowerDistributorScale[8]);
        }
Ejemplo n.º 5
0
        public void BrightnessValuesAreBoundedBetween0And1(string propertyName)
        {
            var cc = new ChromaColors();

            var pi = typeof(ChromaColors).GetProperty(propertyName);

            pi.SetValue(cc, 0.23);
            Assert.Equal(0.23, (double)pi.GetValue(cc));

            pi.SetValue(cc, double.NaN);
            Assert.Equal(0.23, (double)pi.GetValue(cc));

            pi.SetValue(cc, -8.23);
            Assert.Equal(0.0, (double)pi.GetValue(cc));

            pi.SetValue(cc, 2.11);
            Assert.Equal(1.0, (double)pi.GetValue(cc));

            pi.SetValue(cc, double.NegativeInfinity);
            Assert.Equal(0.0, (double)pi.GetValue(cc));

            pi.SetValue(cc, double.PositiveInfinity);
            Assert.Equal(1.0, (double)pi.GetValue(cc));
        }