From 5425cad19576786905e365d84ea67dc9a1db0b3e Mon Sep 17 00:00:00 2001 From: Michael L Smith Date: Sat, 12 Mar 2016 14:15:18 -0800 Subject: [PATCH] Added setters for Dependency file operation interfaces --- .../OSCADSharp.UnitTests/OSCADObjectTests.cs | 4 ++-- .../Scripting/VariableTests.cs | 2 +- .../OSCADSharp.UnitTests/SettingsTests.cs | 4 ++-- .../Public/Settings/Dependencies.cs | 24 +++++++++++++++++-- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs b/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs index cde920d..106ce62 100644 --- a/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs +++ b/OSCADSharp/OSCADSharp.UnitTests/OSCADObjectTests.cs @@ -145,7 +145,7 @@ namespace OSCADSharp.UnitTests var mock = new Mock(); mock.Setup(_wrtr => _wrtr.WriteAllLines(It.IsAny(), It.IsAny())) .Callback((path, contents) => { output = contents; }); - Dependencies.FileWriter = mock.Object; + Dependencies.SetFileWriter(mock.Object); cube.ToFile("myFile"); @@ -162,7 +162,7 @@ namespace OSCADSharp.UnitTests var mock = new Mock(); mock.Setup(_wrtr => _wrtr.WriteAllLines(It.IsAny(), It.IsAny())) .Callback((path, contents) => { output = contents; }); - Dependencies.FileWriter = mock.Object; + Dependencies.SetFileWriter(mock.Object); cube.ToFile("myFile"); diff --git a/OSCADSharp/OSCADSharp.UnitTests/Scripting/VariableTests.cs b/OSCADSharp/OSCADSharp.UnitTests/Scripting/VariableTests.cs index ab973c0..adefdc7 100644 --- a/OSCADSharp/OSCADSharp.UnitTests/Scripting/VariableTests.cs +++ b/OSCADSharp/OSCADSharp.UnitTests/Scripting/VariableTests.cs @@ -24,7 +24,7 @@ namespace OSCADSharp.UnitTests.Scripting var compound = new Variable("x", 5) / 12; string type = compound.GetType().ToString(); - Assert.AreEqual("OSCADSharp.Scripting.CompoundVariable", type); + Assert.AreEqual("OSCADSharp.CompoundVariable", type); } } } diff --git a/OSCADSharp/OSCADSharp.UnitTests/SettingsTests.cs b/OSCADSharp/OSCADSharp.UnitTests/SettingsTests.cs index 75b5dc9..ba84ad6 100644 --- a/OSCADSharp/OSCADSharp.UnitTests/SettingsTests.cs +++ b/OSCADSharp/OSCADSharp.UnitTests/SettingsTests.cs @@ -21,7 +21,7 @@ namespace OSCADSharp.UnitTests var mock = new Mock(); mock.Setup(_wrtr => _wrtr.WriteAllLines(It.IsAny(), It.IsAny())) .Callback((path, contents) => { output = contents; }); - Dependencies.FileWriter = mock.Object; + Dependencies.SetFileWriter(mock.Object); cube.ToFile("myFile"); @@ -39,7 +39,7 @@ namespace OSCADSharp.UnitTests var mock = new Mock(); mock.Setup(_wrtr => _wrtr.WriteAllLines(It.IsAny(), It.IsAny())) .Callback((path, contents) => { }); - Dependencies.FileWriter = mock.Object; + Dependencies.SetFileWriter(mock.Object); cube.ToFile("test").Open(); } diff --git a/OSCADSharp/OSCADSharp/Public/Settings/Dependencies.cs b/OSCADSharp/OSCADSharp/Public/Settings/Dependencies.cs index 4820352..4e34752 100644 --- a/OSCADSharp/OSCADSharp/Public/Settings/Dependencies.cs +++ b/OSCADSharp/OSCADSharp/Public/Settings/Dependencies.cs @@ -14,11 +14,31 @@ namespace OSCADSharp /// /// Used to write scripts to file /// - public static IFileWriter FileWriter = new DefaultFileWriter(); + public static IFileWriter FileWriter { get; private set; } = new DefaultFileWriter(); + + /// + /// Sets the filewriter for OSCADSharp to use + /// + /// + public static void SetFileWriter(IFileWriter writer) + { + FileWriter = writer; + } + /// /// Factory method to provide the class used to perform actions on output scripts /// - public static Func FileInvokerFactory = (path) => { return new DefaultFileInvoker(path); }; + public static Func FileInvokerFactory { get; private set; } = (path) => { return new DefaultFileInvoker(path); }; + + /// + /// Sets the factory method OSCADSharp will use to get + /// file invoker objects + /// + /// + public static void SetFileInvokerFactory(Func invokerFactoryMethod) + { + FileInvokerFactory = invokerFactoryMethod; + } } }