Wrote a test and made layer highlight more intentional
This commit is contained in:
parent
dc55ac655f
commit
e49deacdec
7 changed files with 135 additions and 64 deletions
|
|
@ -210,9 +210,9 @@ namespace MatterControl.Tests.MatterControl
|
|||
var settingsByName = PrinterSettings.SettingsData;
|
||||
var allSettings = settingsByName.Values;
|
||||
|
||||
foreach(var boundSetting in allSettings.Where(s => s.SetSettingsOnChange.Count > 0))
|
||||
foreach (var boundSetting in allSettings.Where(s => s.SetSettingsOnChange.Count > 0))
|
||||
{
|
||||
foreach(var linkedSetting in boundSetting.SetSettingsOnChange)
|
||||
foreach (var linkedSetting in boundSetting.SetSettingsOnChange)
|
||||
{
|
||||
// TargetSetting definition must exist
|
||||
Assert.IsTrue(linkedSetting.TryGetValue("TargetSetting", out string targetSettingSource), "TargetSetting field should exist");
|
||||
|
|
@ -241,10 +241,11 @@ namespace MatterControl.Tests.MatterControl
|
|||
PrinterSettings GetProfile(string[] settings)
|
||||
{
|
||||
Dictionary<string, string> dictionary = new Dictionary<string, string>();
|
||||
for(int i=0; i<settings.Length; i+=2)
|
||||
for (int i = 0; i < settings.Length; i += 2)
|
||||
{
|
||||
dictionary.Add(settings[i], settings[i + 1]);
|
||||
}
|
||||
|
||||
var profile = new PrinterSettings()
|
||||
{
|
||||
OemLayer = new PrinterSettingsLayer(dictionary)
|
||||
|
|
|
|||
|
|
@ -281,6 +281,70 @@ namespace MatterControl.Tests.MatterControl
|
|||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void CorrectStyleForSettingsRow()
|
||||
{
|
||||
var settings = new PrinterSettings();
|
||||
var printer = new PrinterConfig(settings);
|
||||
|
||||
settings.OemLayer = new PrinterSettingsLayer();
|
||||
settings.QualityLayer = new PrinterSettingsLayer();
|
||||
settings.MaterialLayer = new PrinterSettingsLayer();
|
||||
Assert.AreEqual(0, settings.UserLayer.Count);
|
||||
|
||||
var theme = new ThemeConfig();
|
||||
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
|
||||
|
||||
var key = SettingsKey.layer_height;
|
||||
|
||||
void TestStyle(Color color, bool restoreButton)
|
||||
{
|
||||
var data = SliceSettingsRow.GetStyleData(printer, theme, settingsContext, key, true);
|
||||
Assert.AreEqual(color, data.highlightColor);
|
||||
Assert.AreEqual(restoreButton, data.showRestoreButton);
|
||||
}
|
||||
|
||||
// make sure all the colors are different
|
||||
Assert.AreNotEqual(Color.Transparent, theme.PresetColors.MaterialPreset);
|
||||
Assert.AreNotEqual(Color.Transparent, theme.PresetColors.QualityPreset);
|
||||
Assert.AreNotEqual(theme.PresetColors.MaterialPreset, theme.PresetColors.QualityPreset);
|
||||
Assert.AreNotEqual(theme.PresetColors.MaterialPreset, theme.PresetColors.UserOverride);
|
||||
Assert.AreNotEqual(theme.PresetColors.QualityPreset, theme.PresetColors.UserOverride);
|
||||
|
||||
// nothing set no override
|
||||
TestStyle(Color.Transparent, false);
|
||||
|
||||
// user override
|
||||
settings.UserLayer[key] = "123";
|
||||
TestStyle(theme.PresetColors.UserOverride, true);
|
||||
settings.UserLayer.Remove(key);
|
||||
|
||||
// Quality override
|
||||
settings.QualityLayer[key] = "123";
|
||||
TestStyle(theme.PresetColors.QualityPreset, false);
|
||||
settings.QualityLayer.Remove(key);
|
||||
|
||||
// Material override
|
||||
settings.MaterialLayer[key] = "123";
|
||||
TestStyle(theme.PresetColors.MaterialPreset, false);
|
||||
settings.MaterialLayer.Remove(key);
|
||||
|
||||
// user override that is the same as the default
|
||||
settings.UserLayer[key] = settings.BaseLayer[key];
|
||||
TestStyle(Color.Transparent, false);
|
||||
settings.UserLayer.Remove(key);
|
||||
|
||||
// Quality override same as default
|
||||
settings.QualityLayer[key] = settings.BaseLayer[key];
|
||||
TestStyle(theme.PresetColors.QualityPreset, false);
|
||||
settings.QualityLayer.Remove(key);
|
||||
|
||||
// Material override same as default
|
||||
settings.MaterialLayer[key] = settings.BaseLayer[key];
|
||||
TestStyle(theme.PresetColors.MaterialPreset, false);
|
||||
settings.MaterialLayer.Remove(key);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RightClickMenuWorksOnSliceSettings()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue