diff --git a/OpenNest.Core/IConfigurablePostProcessor.cs b/OpenNest.Core/IConfigurablePostProcessor.cs new file mode 100644 index 0000000..f973fa1 --- /dev/null +++ b/OpenNest.Core/IConfigurablePostProcessor.cs @@ -0,0 +1,9 @@ +namespace OpenNest +{ + public interface IConfigurablePostProcessor : IPostProcessor + { + object Config { get; } + + void SaveConfig(); + } +} diff --git a/OpenNest.Posts.Cincinnati/CincinnatiPostProcessor.cs b/OpenNest.Posts.Cincinnati/CincinnatiPostProcessor.cs index c822989..1322cdf 100644 --- a/OpenNest.Posts.Cincinnati/CincinnatiPostProcessor.cs +++ b/OpenNest.Posts.Cincinnati/CincinnatiPostProcessor.cs @@ -9,7 +9,7 @@ using OpenNest.CNC; namespace OpenNest.Posts.Cincinnati { - public sealed class CincinnatiPostProcessor : IPostProcessor + public sealed class CincinnatiPostProcessor : IConfigurablePostProcessor { private static readonly JsonSerializerOptions JsonOptions = new() { @@ -23,6 +23,8 @@ namespace OpenNest.Posts.Cincinnati public CincinnatiPostConfig Config { get; } + object IConfigurablePostProcessor.Config => Config; + public CincinnatiPostProcessor() { var configPath = GetConfigPath(); diff --git a/OpenNest.Tests/Cincinnati/CincinnatiPostProcessorTests.cs b/OpenNest.Tests/Cincinnati/CincinnatiPostProcessorTests.cs index 1e004c8..3d4fdf2 100644 --- a/OpenNest.Tests/Cincinnati/CincinnatiPostProcessorTests.cs +++ b/OpenNest.Tests/Cincinnati/CincinnatiPostProcessorTests.cs @@ -121,6 +121,17 @@ public class CincinnatiPostProcessorTests Assert.Equal("OpenNest", pp.Author); } + [Fact] + public void Post_ImplementsIConfigurablePostProcessor() + { + var post = new CincinnatiPostProcessor(new CincinnatiPostConfig()); + var configurable = post as IConfigurablePostProcessor; + + Assert.NotNull(configurable); + Assert.NotNull(configurable.Config); + Assert.IsType(configurable.Config); + } + [Fact] public void Post_SkipsEmptyPlates() {