public void SetGetProperties() { TextParameter parameter = new TextParameter(); Assert.IsNull(parameter.AllowedValues, "AllowedValues is not null"); Assert.AreEqual(typeof(string), parameter.DataType, "DataType does not match"); parameter.IsRequired = false; Assert.AreEqual(false, parameter.IsRequired, "IsRequired does not match"); parameter.IsRequired = true; Assert.AreEqual(true, parameter.IsRequired, "IsRequired does not match"); parameter.MaximumLength = 100; Assert.AreEqual(100, parameter.MaximumLength, "MaximumLength does not match"); parameter.MaximumLength = 0; Assert.AreEqual(0, parameter.MaximumLength, "MaximumLength does not match"); parameter.MinimumLength = 100; Assert.AreEqual(100, parameter.MinimumLength, "MinimumLength does not match"); parameter.MinimumLength = 0; Assert.AreEqual(0, parameter.MinimumLength, "MinimumLength does not match"); parameter.Description = "Some description goes here"; Assert.AreEqual("Some description goes here", parameter.Description, "Description does not match"); parameter.Name = "Some name"; Assert.AreEqual("Some name", parameter.Name, "Name does not match"); Assert.AreEqual("Some name", parameter.DisplayName, "DisplayName does not match"); parameter.DisplayName = "Another name"; Assert.AreEqual("Another name", parameter.DisplayName, "DisplayName does not match"); }
public void ConvertReturnsOriginalString() { var parameter = new TextParameter(); var value = parameter.Convert("testValue"); Assert.AreEqual("testValue", value); }
public static EnumOpenClose CheckOpenClose(Order order) { string text = order.Text; EnumOpenClose OpenClose = EnumOpenClose.OPEN; if (text.StartsWith("{") && text.EndsWith("}")) { TextParameter parameter = JsonConvert.DeserializeObject <TextParameter>(text); switch (parameter.Type) { case EnumGroupType.COMMON: { TextCommon t = JsonConvert.DeserializeObject <TextCommon>(text); OpenClose = t.OpenClose; } break; case EnumGroupType.QUOTE: { TextQuote t = JsonConvert.DeserializeObject <TextQuote>(text); OpenClose = t.OpenClose; } break; } } return(OpenClose); }
public void ValueWithinValueRange() { TextParameter parameter = new TextParameter(); parameter.Name = "Test"; parameter.MinimumLength = 0; parameter.MaximumLength = 20; Exception[] results = parameter.Validate("50"); Assert.AreEqual(0, results.Length, "Number of exceptions does not match"); }
public void IsRequiredWithBlank() { TextParameter parameter = new TextParameter(); parameter.Name = "Test"; parameter.IsRequired = true; Exception[] results = parameter.Validate(string.Empty); Assert.AreEqual(1, results.Length, "Number of exceptions does not match"); Assert.AreEqual("Value of 'Test' is required", results[0].Message, "Exception message does not match"); }
public void ValueAboveLengthRange() { TextParameter parameter = new TextParameter(); parameter.Name = "Test"; parameter.MinimumLength = 0; parameter.MaximumLength = 20; Exception[] results = parameter.Validate("123456789012345678901234567890"); Assert.AreEqual(1, results.Length, "Number of exceptions does not match"); Assert.AreEqual("Value of 'Test' is more than the maximum length (20)", results[0].Message, "Exception message does not match"); }
public void ValueBelowLengthRange() { TextParameter parameter = new TextParameter(); parameter.Name = "Test"; parameter.MinimumLength = 15; parameter.MaximumLength = 20; Exception[] results = parameter.Validate("50"); Assert.AreEqual(1, results.Length, "Number of exceptions does not match"); Assert.AreEqual("Value of 'Test' is less than the minimum length (15)", results[0].Message, "Exception message does not match"); }
public void TestTextParameter() { var parameter = new TextParameter(); Assert.IsNull(parameter.NameResourceName); Assert.IsNull(parameter.DescriptionResourceName); parameter = new TextParameter("test1", "test2"); Assert.AreEqual("test1", parameter.NameResourceName); Assert.AreEqual("test2", parameter.DescriptionResourceName); }
private void Send(NewOrderSingle order) { if (!_bTdConnected) { EmitError(-1, -1, "交易服务器没有连接,无法报单"); tdlog.Error("交易服务器没有连接,无法报单"); return; } // 表示特殊的Json格式 if (order.Text.StartsWith("{") && order.Text.EndsWith("}")) { TextParameter parameter = JsonConvert.DeserializeObject <TextParameter>(order.Text); switch (parameter.Type) { case EnumGroupType.COMMON: { TextCommon t = JsonConvert.DeserializeObject <TextCommon>(order.Text); CommonOrderItem item = CommonOrderCombiner.Add(order as SingleOrder, t); Send(item); } break; case EnumGroupType.QUOTE: { TextQuote t = JsonConvert.DeserializeObject <TextQuote>(order.Text); QuoteOrderItem item = QuoteOrderCombiner.Add(order as SingleOrder, t); } break; case EnumGroupType.SP: { TextSP t = JsonConvert.DeserializeObject <TextSP>(order.Text); SPOrderItem item = SPOrderCombiner.Add(order as SingleOrder, t); Send(item); } break; case EnumGroupType.SPC: { TextSPC t = JsonConvert.DeserializeObject <TextSPC>(order.Text); SPCOrderItem item = SPCOrderCombiner.Add(order as SingleOrder, t); Send(item); } break; case EnumGroupType.SPD: { TextSPD t = JsonConvert.DeserializeObject <TextSPD>(order.Text); SPDOrderItem item = SPDOrderCombiner.Add(order as SingleOrder, t); Send(item); } break; } } else { // 无法识别的格式,直接发送报单,只开仓 TextCommon t = new TextCommon() { Type = EnumGroupType.COMMON, OpenClose = EnumOpenClose.OPEN }; CommonOrderItem item = CommonOrderCombiner.Add(order as SingleOrder, t); Send(item); } }
public void InitializeParameters(string arma3Path) { Logger.LogDebug("ParameterService", "Starting parameter initialization"); BooleanParameter skipIntro = new BooleanParameter { Name = "-skipIntro", LegacyName = "skipIntro", DisplayName = Resources.Strings.S_PARAMETER_SKIP_INTRO, Tooltip = Resources.Strings.S_PARAMETER_SKIP_INTRO_DESC }; BooleanParameter noSplash = new BooleanParameter { Name = "-noSplash", LegacyName = "skipSplashScreen", DisplayName = Resources.Strings.S_PARAMETER_NO_SPLASH, Tooltip = Resources.Strings.S_PARAMETER_NO_SPLASH_DESC }; BooleanParameter emptyWorld = new BooleanParameter { Name = "-world=empty", LegacyName = "emptyWorld", DisplayName = Resources.Strings.S_PARAMETER_EMPTY_WORLD, Tooltip = Resources.Strings.S_PARAMETER_EMPTY_WORLD_DESC }; BooleanParameter window = new BooleanParameter { Name = "-window", LegacyName = "windowedMode", DisplayName = Resources.Strings.S_PARAMETER_WINDOW, Tooltip = Resources.Strings.S_PARAMETER_WINDOW_DESC }; BooleanParameter filePatching = new BooleanParameter { Name = "-filePatching", LegacyName = "noFilePatching", DisplayName = Resources.Strings.S_PARAMETER_FILE_PATCHING, Tooltip = Resources.Strings.S_PARAMETER_FILE_PATCHING_DESC }; BooleanParameter noPause = new BooleanParameter { Name = "-noPause", LegacyName = "noPause", DisplayName = Resources.Strings.S_PARAMETER_NO_PAUSE, Tooltip = Resources.Strings.S_PARAMETER_NO_PAUSE_DESC }; BooleanParameter noCb = new BooleanParameter { Name = "-noCB", LegacyName = "noCB", DisplayName = Resources.Strings.S_PARAMETER_NO_MULTICORE, Tooltip = Resources.Strings.S_PARAMETER_NO_MULTICORE_DESC }; BooleanParameter showScriptErrors = new BooleanParameter { Name = "-showScriptErrors", LegacyName = "showScriptErrors", DisplayName = Resources.Strings.S_PARAMETER_SHOW_ERRORS, Tooltip = Resources.Strings.S_PARAMETER_SHOW_ERRORS_DESC }; BooleanParameter noLogs = new BooleanParameter { Name = "-noLogs", LegacyName = "noLogs", DisplayName = Resources.Strings.S_PARAMETER_NO_LOGS, Tooltip = Resources.Strings.S_PARAMETER_NO_LOGS_DESC }; BooleanParameter enableHt = new BooleanParameter { Name = "-enableHT", LegacyName = "hyperthreading", DisplayName = Resources.Strings.S_PARAMETER_HYPERTHREADING, Tooltip = Resources.Strings.S_PARAMETER_HYPERTHREADING_DESC }; BooleanParameter hugePages = new BooleanParameter { Name = "-hugePages", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_HUGE_PAGES, Tooltip = Resources.Strings.S_PARAMETER_HUGE_PAGES_DESC }; _malloc32 = new SelectionParameter { Name = "-malloc=", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_MALLOC_32, Tooltip = Resources.Strings.S_PARAMETER_MALLOC_32_DESC, Platform = ParameterPlatform.X86 }; _malloc64 = new SelectionParameter { Name = "-malloc=", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_MALLOC_64, Tooltip = Resources.Strings.S_PARAMETER_MALLOC_64_DESC, Platform = ParameterPlatform.X64 }; SelectionParameter memory = new SelectionParameter { Name = "-maxMem=", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_MAX_MEMORY, Tooltip = Resources.Strings.S_PARAMETER_MAX_MEMORY_DESC, Values = new BindableCollection <ValueItem> { new ValueItem("1024", "1024 MiB"), new ValueItem("2048", "2048 MiB"), new ValueItem("4096", "4096 MiB"), new ValueItem("8192", "8192 MiB"), } }; SelectionParameter videoMemory = new SelectionParameter { Name = "-maxVRAM=", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_MAX_VMEMORY, Tooltip = Resources.Strings.S_PARAMETER_MAX_VMEMORY_DESC, Values = new BindableCollection <ValueItem> { new ValueItem("512", "512 MiB"), new ValueItem("1024", "1024 MiB"), new ValueItem("2048", "2048 MiB"), new ValueItem("4096", "4096 MiB"), new ValueItem("8192", "8192 MiB"), } }; NumericalParameter cpuCount = new NumericalParameter { Name = "-cpuCount=", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_CPU_COUNT, Tooltip = Resources.Strings.S_PARAMETER_CPU_COUNT_DESC, MinValue = 1, MaxValue = 32 }; NumericalParameter exThreads = new NumericalParameter { Name = "-exThreads=", LegacyName = string.Empty, DisplayName = Resources.Strings.S_PARAMETER_EXTHREADS, Tooltip = Resources.Strings.S_PARAMETER_EX_THREADS_DESC, MinValue = 0, MaxValue = 7 }; TextParameter additional = new TextParameter { Name = "Additional parameters", LegacyName = "extraParameters", DisplayName = Resources.Strings.S_PARAMETER_ADDITIONAL, Tooltip = Resources.Strings.S_PARAMETER_ADDITIONAL_DESC }; Parameters = new BindableCollection <LaunchParameter> { skipIntro, noSplash, emptyWorld, window, filePatching, noPause, noCb, showScriptErrors, noLogs, enableHt, hugePages, _malloc32, _malloc64, memory, videoMemory, cpuCount, exThreads, additional }; Logger.LogDebug("ParameterService", "Finished parameter initialization"); //Read memory allocators if (!string.IsNullOrEmpty(arma3Path)) { ReadMemoryAllocators(arma3Path); } }