using XFEEDToolBox.Core.Execution; using XFEEDToolBox.Core.Models; using XFEExtension.NetCore.XUnit.Attributes; namespace XFEEDToolBox.Test; [TestFixture] public class AutomaticTradeConfigurationTests { private static AutomaticTradeConfiguration Plan=>new() { Source=new(){MarketId=1,SystemName="Fixture source",Name="Fixture station"}, Destination=new(){MarketId=CommunityGoalCatalogue.HomerMarket,SystemName="AD Leonis",Name="Homer Platform"}, WorkingDirectory=Path.GetTempPath(),EmptyValidationVisits=1,ReserveCredits=4427098 }; private static void Reject(AutomaticTradeConfiguration plan) {try{plan.Validate();}catch(InvalidDataException){return;}throw new InvalidOperationException("An automatic trade prerequisite was disabled.");} [Test]public void CompleteConfigurationRetainsScoAndInterdictionExitProtection()=>Plan.Validate(); [Test]public void ConfigurationCannotDisableOriginalScoControl()=>Reject(Plan with{RequireSupercruiseOvercharge=false}); [Test]public void ConfigurationCannotDisableInterdictionExitProtection()=>Reject(Plan with{ExitOnInterdiction=false}); }