public void Initialize(CalcManager cm) { calcManager = cm; keyboard = GetComponent <FlexMenu>(); responder = new KeyboardInputResponder(this); keyboard.RegisterResponder(responder); }
public void CalcOpera(CalcManager manager, char curChar) { if (curChar == '+' || curChar == '-' || curChar == '*' || curChar == '/') { var num2 = manager.NumStack.Pop(); var num1 = manager.NumStack.Pop(); var operaTemp = manager.OperaStack.Pop(); var newValue = manager.CalcOperaFun(num1, num2, operaTemp); manager.NumStack.Push(newValue); manager.OperaStack.Push(curChar); if (curChar == '+' || curChar == '-') { manager.InnerStatus = StartStatus.Instance; } else { m_preNum = false; } return; } if (!m_preNum) { manager.NumStack.Push(int.Parse(curChar.ToString())); m_preNum = true; } else { var preNum = manager.NumStack.Pop(); var newNum = preNum * 10 + int.Parse(curChar.ToString()); manager.NumStack.Push(newNum); } }
public MainWindow() { InitializeComponent(); calcMngr = new CalcManager(); FillOperationTypesInTheList(); lblResult.Content = string.Empty; }
public void Test_SumOfMultipleOf3And5_Threshold25() { int threshold = 25; int correctValue = 175; int result = CalcManager.Calculate(threshold, MethodType.MultipleOf3And5).First(); Assert.AreEqual(correctValue, result, "Valore calcolato non valido R:" + result); }
public void Initialize(CalcManager cm) { KeyboardInputResponder responder = new KeyboardInputResponder(this); menu.RegisterResponder(responder); calcManager = cm; saveButton = transform.Find("ControlPanel/Save").GetComponent <FlexActionableComponent>(); }
public void Test_ArrayItemsCount_50() { int items = 50; int[] arr = CalcManager.Calculate(items, MethodType.Random); int result = arr.Length; Assert.AreEqual(items, result, "Numero di elementi calcolati :" + result); }
public void Test_SumOfMultipleOf3_Threshold25() { // somma dei multipli di 3 fino a 25. Il numero primo non lo prendo in esame in quanto si richiede la somma dei soli multipli // 1 2 (3) 4 5 [6] 7 8 [9] 10 11 [12] 13 14 [15] 16 17 [18] 19 20 [21] 22 23 [24] 25 = 105 int threshold = 25; int correctValue = 105; int result = CalcManager.Calculate(threshold, MethodType.MultipleOf3).First(); Assert.AreEqual(correctValue, result, "Valore calcolato non valido R:" + result); }
public void Initialize(CalcManager calcManager) { scroll = GetComponentInChildren <Scroll>(true); flexMenu = GetComponent <FlexMenu>(); SubmissionButtonResponder responder = new SubmissionButtonResponder(this, flexMenu); flexMenu.RegisterResponder(responder); submissionsPanel = GetComponentInChildren <MultiSelectFlexPanel>().Initialize(); joyStickAggregator = scroll.GetComponent <JoyStickAggregator>(); }
public void Test_SumOfMultipleOf5_Threshold25() { // somma dei multipli di 5 fino a 125. Il numero primo non lo prendo in esame in quanto si richiede la somma dei soli multipli // 1 2 3 4 (5) 6 7 8 9 [10] 11 12 13 14 [15] 16 17 18 19 [20] 21 22 23 24 [25] = 70 int threshold = 25; int correctValue = 70; int result = CalcManager.Calculate(threshold, MethodType.MultipleOf5).First(); Assert.AreEqual(correctValue, result, "Valore calcolato non valido R:" + result); }
public void Test_SumOfMultipleOf5_Threshold10() { // somma dei multipli di 5 fino a 10. Il numero primo non lo prendo in esame in quanto si richiede la somma dei soli multipli // 1 2 3 4 (5) 6 7 8 9 [10] = 10 int threshold = 10; int correctValue = 10; int result = CalcManager.Calculate(threshold, MethodType.MultipleOf5).First(); Assert.AreEqual(correctValue, result, "Valore calcolato non valido R:" + result); }
// Use this for initialization public void Initialize(CalcManager calcManager) { paramSurface = calcManager.paramSurface; defaultSpeed = calcManager.defaultSpeed; defaultEffect = calcManager.defaultEffect; responder = new ParticleSettingsResponder(paramSurface); GetComponent <FlexMenu>().RegisterResponder(responder); responder.initialize(defaultEffect, defaultSpeed); }
public void Initialize(CalcManager cm) { scroll = GetComponentInChildren <Scroll>(true); joyStickAggregator = scroll.GetComponent <JoyStickAggregator>(); calcManager = cm; HandleInput(defaultFunction); KeyboardInputResponder responder = new KeyboardInputResponder(this); menu.RegisterResponder(responder); initializePresetButtons(); }
public void Initialize() { if (Instance == null) { Instance = this; } calcInput = connectedMenus.calcInput; boundsManager = connectedMenus.boundsManager; pieceWiseControl = connectedMenus.pieceWiseControl; boundsManager = connectedMenus.boundsManager; saveLoadMenu = connectedMenus.saveLoadMenu; tournamentMenu = connectedMenus.tournamentMenu; submissionsMenu = connectedMenus.submissionsMenu; if (connectedMenus.boundsManager != null) { connectedMenus.boundsManager.Initialize(this); } connectedMenus.calcInput.Initialize(this); //tier 3 connectedMenus.outputMenu.Initialize(this); //Req: calcInput connectedMenus.pieceWiseControl.Initialize(this); //Req: calcInput calcInput.ChangeOutput(expressionSet.expressions["X"]); //Req: calcInput connectedMenus.presetMenu.Initialize(this); connectedMenus.saveLoadMenu.Initialize(this); if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name.Equals("3 - FreeParametrization")) { if (connectedMenus.tournamentMenu != null) { connectedMenus.tournamentMenu.Initialize(this); } if (connectedMenus.submissionsMenu != null) { connectedMenus.submissionsMenu.Initialize(this); } if (connectedMenus.mySubmissionsMenu != null) { connectedMenus.mySubmissionsMenu.Initialize(this); } } if (connectedMenus.particleAnimationSettings != null) { connectedMenus.particleAnimationSettings.Initialize(this); } }
public void Initialize(CalcManager calcManager) { this.calcManager = calcManager; scroll = GetComponentInChildren <Scroll>(true); flexMenu = GetComponent <FlexMenu>(); KeyboardInputResponder responder = new KeyboardInputResponder(this, flexMenu); flexMenu.RegisterResponder(responder); tournamentsPanel = GetComponentInChildren <MultiSelectFlexPanel>().Initialize(); joyStickAggregator = scroll.GetComponent <JoyStickAggregator>(); }
public void DividingTestCorrect() { //arrange var manager = new CalcManager(new DbManager()); var firstValue = 96; var secondValue = 8; //Act manager.Dividing(firstValue, secondValue); //Assert Assert.AreEqual(manager.Expression.ResultValue, 12); }
public void AdditionTestIncorrect() { //arrange var manager = new CalcManager(new DbManager()); var firstValue = 43; var secondValue = 87; //Act manager.Addition(firstValue, secondValue); //Assert Assert.AreNotEqual(manager.Expression.ResultValue, 131); }
public void DividingTestIncorrect() { //arrange var manager = new CalcManager(new DbManager()); var firstValue = 738; var secondValue = 45; //Act manager.Dividing(firstValue, secondValue); //Assert Assert.AreNotEqual(manager.Expression.ResultValue, 32); }
public void SubstractionTestIncorrect() { //arrange var manager = new CalcManager(new DbManager()); var firstValue = 54; var secondValue = 32; //Act manager.Substraction(firstValue, secondValue); //Assert Assert.AreNotEqual(manager.Expression.ResultValue, 45); }
public void MultiplyingTestCorrect() { //arrange var manager = new CalcManager(new DbManager()); var firstValue = 12; var secondValue = 14; //Act manager.Multiplying(firstValue, secondValue); //Assert Assert.AreEqual(manager.Expression.ResultValue, 168); }
public void MultiplyingTestIncorrect() { //arrange var manager = new CalcManager(new DbManager()); var firstValue = 34; var secondValue = 27; //Act manager.Multiplying(firstValue, secondValue); //Assert Assert.AreNotEqual(manager.Expression.ResultValue, 536); }
public void Initialize(CalcManager cm) { KeyboardInputResponder responder = new KeyboardInputResponder(this); menu.RegisterResponder(responder); calcManager = cm; saveButton = transform.Find("ControlPanel/Save").GetComponent <FlexActionableComponent>(); exportButton = transform.Find("ControlPanel/GenerateMesh").GetComponent <FlexActionableComponent>(); if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name.Equals("3 - FreeParametrization")) { calcManager.inputHandler += LookupCommitStateByExpressionSet; } }
public void Test_ArrayItemsVerifyValues_500() { // generando un array di elementi random con 500 items verifico la presenza di doppioni int items = 500; int[] arr = CalcManager.Calculate(items, MethodType.Random); var res = (from i in arr group i by i into g select new { Num = g.Key, Cnt = g.Count() }).ToList(); int doppi = res.Where(x => x.Cnt > 1).Count(); Assert.AreEqual(0, doppi, "Trovati numeri doppioni:" + doppi); }
public void Initialize(CalcManager calcManager) { this.calcManager = calcManager; scroll = GetComponentInChildren <Scroll>(true); flexMenu = GetComponent <FlexMenu>(); KeyboardInputResponder responder = new KeyboardInputResponder(this); flexMenu.RegisterResponder(responder); selectPanel = GetComponentInChildren <MultiSelectFlexPanel>().Initialize(); joyStickAggregator = scroll.GetComponent <JoyStickAggregator>(); LoadFiles(); loader.fileLoadedEvent += LoadNewFile; }
public int Calculate1(string s) { /* * 问题:基本计算器 * 思路: * 1.挨个儿遍历输入的字符 * 2.对于状态对象而言,他要处理的就是一个字符 * 3.不同的状态对象,对传入字符的处理方式是不同的 * 4.依据情景分析,会存在3种状态 * 4.1 起始状态,即前面的字符不影响后面的状态操作 * 4.2 数字状态,即前面的字符是数字 * 4.3 符号状态,即前面的字符是"*"和"/" * 5.这3种状态的转变过程是: * 5.1 起始状态 * 5.1.1 遇到符号"+"和"-",入符号栈,状态无需改变 * 5.1.2 遇到符号"*"和"/",入符号栈,状态变为"符号状态" * 5.1.3 遇到数字,入数字栈,状态变为"数字状态" * 5.2 数字状态 * 5.2.1 遇到符号"+"和"-",入符号栈,状态变为"起始状态" * 5.2.2 遇到符号"*"和"/",入符号栈,状态变为"符号状态" * 5.2.3 遇到数字,入数字栈,状态无需改变 * 5.3 符号状态 * 5.3.1 遇到符号,先做计算,若符号为"+"和"-",则变更为"起始状态" * 5.3.2 遇到数字,入数字栈,状态无需改变 * 6.具体还涉及到一点儿细节,就不一一列举说明了 * * 关键点: * * 时间复杂度:O(n) * 空间复杂度:O(1) */ CalcManager calc = new CalcManager(); foreach (var sItem in s) { if (sItem == ' ') { continue; } calc.GetInput(sItem); } return(calc.GetResult()); }
public void CalcOpera(CalcManager manager, char curChar) { if (curChar == '+' || curChar == '-') { manager.OperaStack.Push(curChar); return; } if (curChar == '*' || curChar == '/') { manager.OperaStack.Push(curChar); manager.InnerStatus = new PreOperaStatus(); return; } manager.NumStack.Push(int.Parse(curChar.ToString())); manager.InnerStatus = PreNumStatus.Instance; }
public void CalcOpera(CalcManager manager, char curChar) { if (curChar == '+' || curChar == '-') { manager.OperaStack.Push(curChar); manager.InnerStatus = StartStatus.Instance; return; } if (curChar == '*' || curChar == '/') { manager.OperaStack.Push(curChar); manager.InnerStatus = new PreOperaStatus(); return; } var preNum = manager.NumStack.Pop(); var newNum = preNum * 10 + int.Parse(curChar.ToString()); manager.NumStack.Push(newNum); }
public PieceWiseControl Initialize(CalcManager cm) { this.calcManager = cm; this.paramSurface = cm.paramSurface; paramSurface.CreateExpressionSet(); //calcManager.ChangeExpressionSet(paramSurface.expressionSets[0]); responder = new KeyboardInputResponder(this); menu.RegisterResponder(responder); //create saved copy of first tab saveTab = Instantiate(firstTab, firstTab.transform.position, firstTab.transform.rotation, firstTab.transform.parent); saveTab.transform.localScale = firstTab.transform.localScale; saveTab.SetActive(false); //find distance between plus and 1 for use in future spacing distanceBetween = plusTab.transform.localPosition - firstTab.transform.localPosition; tabList.Add(firstTab); SwitchToTab(firstTab); return(this); }
static void Main(string[] args) { _ValueRequested = -1; while (_ValueRequested != 0) { SelectOption(); if (_ValueRequested == -1) { continue; } else if (_ValueRequested == 0) { return; } // Execute calculate int[] result = CalcManager.Calculate(_ValueRequested, _MethodRequested); // Output response if (_MethodRequested == MethodType.Random) { string textToOut = ""; foreach (var i in result) { textToOut += string.Format("{0};", i); } Console.Write(string.Format("\r\n\r\n Array with n={0} integer with random values", _ValueRequested)); Console.Write("\r\n arr[n] = " + textToOut); Console.ReadKey(); } else { Console.Write(string.Format("\r\n\r\n Sum of {0} up to {1} = {2}", _MethodRequested, _ValueRequested, result.First())); Console.ReadKey(); } } Console.ReadKey(); }
public void RunLocationStatisticsMakerTest() { using WorkingDir wd = new WorkingDir(Utili.GetCurrentMethodAndClass()); using DatabaseSetup db = new DatabaseSetup(Utili.GetCurrentMethodAndClass()); Simulator sim = new Simulator(db.ConnectionString) { MyGeneralConfig = { StartDateUIString = "15.1.2015", EndDateUIString = "18.1.2015", InternalTimeResolution = "00:01:00" } }; sim.MyGeneralConfig.ApplyOptionDefault(OutputFileDefault.NoFiles); sim.MyGeneralConfig.Enable(CalcOption.LocationsFile); //ConfigSetter.SetGlobalTimeParameters(sim.MyGeneralConfig); sim.Should().NotBeNull(); sim.MyGeneralConfig.RandomSeed = 10; CalcManagerFactory cmf = new CalcManagerFactory(); CalculationProfiler calculationProfiler = new CalculationProfiler(); CalcStartParameterSet csps = new CalcStartParameterSet(sim.GeographicLocations[0], sim.TemperatureProfiles[0], sim.ModularHouseholds[0], EnergyIntensityType.Random, false, null, LoadTypePriority.All, null, null, null, sim.MyGeneralConfig.AllEnabledOptions(), new DateTime(2015, 1, 15), new DateTime(2015, 1, 18), new TimeSpan(0, 1, 0), ";", 10, new TimeSpan(0, 1, 0), false, false, false, 3, 3, calculationProfiler, wd.WorkingDirectory, false); CalcManager cm = cmf.GetCalcManager(sim, csps, false);
public void Initialize(CalcManager calcManager) { this.calcManager = calcManager; scroll = GetComponentInChildren <Scroll>(true); flexMenu = GetComponent <FlexMenu>(); TournamentMenuResponder responder = new TournamentMenuResponder(this); submissionsPanel = GetComponentInChildren <MultiSelectFlexPanel>().Initialize(); submissionsPanel.selectedUnselectedColor = QuickButton.TOGGLE_OFF; submissionsPanel.selectedSelectedColor = QuickButton.TOGGLE_ON; submissionsPanel.hoverUnselectedColor = QuickButton.LIGHT_HOVERING; submissionsPanel.hoverSelectedColor = QuickButton.DARK_HOVERING; submissionsPanel.passiveUnselectedColor = Color.white; submissionsPanel.passiveSelectedColor = QuickButton.DARK_PASSIVE; joyStickAggregator = scroll.GetComponent <JoyStickAggregator>(); mainPanel.AddAction(previousRoundButton); mainPanel.AddAction(nextRoundButton); flexMenu.AddPanel(mainPanel); flexMenu.RegisterResponder(responder); }