diff --git a/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs b/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs index e64a2a8..de5cb5f 100644 --- a/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs +++ b/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs @@ -1,4 +1,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; +using Moq; +using OSCADSharp.Scripting; using OSCADSharp.Solids; using System; using System.Collections.Concurrent; @@ -135,6 +137,39 @@ namespace OSCADSharp.UnitTests Assert.AreEqual("Text", children[0].Name); Assert.AreEqual("Union", children[1].Name); } + + [TestMethod] + public void OSCADObject_ToFileIncludesOSCADSharpGeneratedHeader() + { + var cube = new Cube(); + string[] output = null; + + var mock = new Mock(); + mock.Setup(_wrtr => _wrtr.WriteAllLines(It.IsAny(), It.IsAny())) + .Callback((path, contents) => { output = contents; }); + Settings.FileWriter = mock.Object; + + cube.ToFile("myFile"); + + Assert.AreEqual(Settings.OSCADSharpHeader, output[0]); + } + + [TestMethod] + public void OSCADObject_ToFileIncludesGlobalVariablesDefinedInSettings() + { + var cube = new Cube(); + string[] output = null; + Settings.Globals["$fn"] = 100; + + var mock = new Mock(); + mock.Setup(_wrtr => _wrtr.WriteAllLines(It.IsAny(), It.IsAny())) + .Callback((path, contents) => { output = contents; }); + Settings.FileWriter = mock.Object; + + cube.ToFile("myFile"); + + Assert.AreEqual("$fn = 100;\r\n", output[1]); + } } }