Wrote a new test for first_layer_extrusion_width being parsed correctly

Refactored first_layer_extrusion_width into a fixed string
This commit is contained in:
Lars Brubaker 2016-07-12 18:06:06 -07:00
parent fb5d2d9c6e
commit 3a9e4eb054
8 changed files with 75 additions and 12 deletions

View file

@ -255,7 +255,7 @@ namespace MatterControl.Tests.MatterControl
float firstLayerExtrusionWidth;
string firstLayerExtrusionWidthString = settings.PrinterSettings.GetValue("first_layer_extrusion_width");
string firstLayerExtrusionWidthString = settings.PrinterSettings.GetValue(SettingsKey.first_layer_extrusion_width);
if (!string.IsNullOrEmpty(firstLayerExtrusionWidthString) && firstLayerExtrusionWidthString.Trim() != "0")
{
firstLayerExtrusionWidth = ValueOrPercentageOf(firstLayerExtrusionWidthString, nozzleDiameter);
@ -318,7 +318,7 @@ namespace MatterControl.Tests.MatterControl
{
float nozzleDiameter = float.Parse(settings.PrinterSettings.GetValue(SettingsKey.nozzle_diameter));
string firstLayerExtrusionWidthString = settings.PrinterSettings.GetValue("first_layer_extrusion_width");
string firstLayerExtrusionWidthString = settings.PrinterSettings.GetValue(SettingsKey.first_layer_extrusion_width);
if (!string.IsNullOrEmpty(firstLayerExtrusionWidthString))
{
float firstLayerExtrusionWidth = ValueOrPercentageOf(firstLayerExtrusionWidthString, nozzleDiameter);

View file

@ -160,7 +160,7 @@ namespace MatterControl.Tests.MatterControl
public bool firstLayerExtrusionWidthAcceptableValue(Dictionary<string, string> currentFile)
{
string firstLayerExtrusionWidth = currentFile["first_layer_extrusion_width"];
string firstLayerExtrusionWidth = currentFile[SettingsKey.first_layer_extrusion_width];
float convertedFirstLayerExtrusionWidth;
string nozzleDiameter = currentFile[SettingsKey.nozzle_diameter];
@ -181,7 +181,7 @@ namespace MatterControl.Tests.MatterControl
public bool firstLayerExtrusionWidthNotZero(Dictionary<string,string> currentFile)
{
string firstLayerExtrusionWidth = currentFile["first_layer_extrusion_width"];
string firstLayerExtrusionWidth = currentFile[SettingsKey.first_layer_extrusion_width];
float convertedFirstLayerExtrusionWidth;
if(firstLayerExtrusionWidth.Contains("%"))

View file

@ -0,0 +1,55 @@
using MatterHackers.MatterControl;
using NUnit.Framework;
using System;
using System.IO;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Globalization;
using MatterHackers.MatterControl.SlicerConfiguration;
namespace MatterControl.Tests.MatterControl
{
[TestFixture, Category("ConfigIni")]
public class SettingsParseTests
{
[Test]
public void SupportInterfaceMaterialAssignedToExtruderOne()
{
// percent first layer extrusion width
{
string[] settings = new string[] { SettingsKey.first_layer_extrusion_width, "%150", SettingsKey.nozzle_diameter, ".4" };
Assert.AreEqual(GettProfile(settings).GetValue<double>(SettingsKey.first_layer_extrusion_width), .6, .0001);
}
// absolute first layer extrusion width
{
string[] settings = new string[] { SettingsKey.first_layer_extrusion_width, ".75", SettingsKey.nozzle_diameter, ".4" };
Assert.AreEqual(GettProfile(settings).GetValue<double>(SettingsKey.first_layer_extrusion_width), .75, .0001);
}
// 0 first layer extrusion width
{
string[] settings = new string[] { SettingsKey.first_layer_extrusion_width, "0", SettingsKey.nozzle_diameter, ".4" };
Assert.AreEqual(GettProfile(settings).GetValue<double>(SettingsKey.first_layer_extrusion_width), .4, .0001);
}
}
SettingsProfile GettProfile(string[] settings)
{
Dictionary<string, string> dictionary = new Dictionary<string, string>();
for(int i=0; i<settings.Length; i+=2)
{
dictionary.Add(settings[i], settings[i + 1]);
}
var profile = new SettingsProfile(new PrinterSettings()
{
OemLayer = new PrinterSettingsLayer(dictionary)
});
return profile;
}
}
}