public void TestGetBanknots4() { var terminal = new BankTerminal() { BanknotsLimit = 1000, RequiredSum = 500, DefaultNominal = false, PreferedNominal = 1000 }; terminal.AddBanknots(100, 5); terminal.AddBanknots(500, 1); terminal.GetBanknotsGreedy(); var primer = new ObservableCollection <int> { }; CustomAssert.AreEqual(primer, terminal.BanknotsOut); }
public void TestWrongNominalException() { try { var terminal = new BankTerminal() { BanknotsLimit = 5, RequiredSum = 100, DefaultNominal = false, PreferedNominal = 800 }; terminal.GetBanknotsGreedy(); Assert.IsTrue(false); } catch (MyException e) { bool res = (e.Message == "Required nominal doesn't exist."); Assert.IsTrue(res); } }
public void TestWrongSumException() { try { var terminal = new BankTerminal() { BanknotsLimit = 5, RequiredSum = -100, DefaultNominal = false, PreferedNominal = 1000 }; terminal.GetBanknotsGreedy(); Assert.IsTrue(false); } catch (MyException e) { bool res = (e.Message == "The sum must be a strictly positive number"); Assert.IsTrue(res); } }
public void TestBanknotsLimitException() { var terminal = new BankTerminal() { BanknotsLimit = 5, RequiredSum = 500, DefaultNominal = false, PreferedNominal = 1000 }; terminal.AddBanknots(100, 5); try { terminal.AddBanknots(500, 1); Assert.IsTrue(false);; } catch (MyException e) { bool res = (e.Message == "Not enough space in terminal!"); Assert.IsTrue(res); } }
public void Init(Action <string, string> pSetBarCode, Action <double, bool> pSetWeight, Action <double, bool> pSetControlWeight, Action <StatusEquipment> pActionStatus = null) { var config = Config("appsettings.json"); State = eStateEquipment.Init; try { //Scaner var ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.Scaner).First(); switch (ElEquipment.Model) { case eModelEquipment.MagellanScaner: ElEquipment.Equipment = new MagellanScaner(config, null, pSetBarCode); break; case eModelEquipment.VirtualScaner: ElEquipment.Equipment = new VirtualScaner(config, null, pSetBarCode); break; default: ElEquipment.Equipment = new Scaner(config); break; } Scaner = (Scaner)ElEquipment.Equipment; //Scale ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.Scale).First(); switch (ElEquipment.Model) { case eModelEquipment.MagellanScale: ElEquipment.Equipment = new MagellanScale(((MagellanScaner)Scaner).Magellan9300, pSetWeight); break; case eModelEquipment.VirtualScale: ElEquipment.Equipment = new VirtualScale(config, null, pSetWeight); break; default: ElEquipment.Equipment = new Scale(config); break; } Scale = (Scale)ElEquipment.Equipment; //ControlScale ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.ControlScale).First(); if (ElEquipment.Model == eModelEquipment.ScaleModern) { ElEquipment.Equipment = new ScaleModern(config, null, pSetControlWeight); } else { ElEquipment.Equipment = new Scale(config); }; ControlScale = (Scale)ElEquipment.Equipment; //Flag ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.Signal).First(); if (ElEquipment.Model == eModelEquipment.SignalFlagModern) { ElEquipment.Equipment = new SignalFlagModern(config); } else { ElEquipment.Equipment = new SignalFlag(config); } Signal = (SignalFlag)ElEquipment.Equipment; //Bank Pos Terminal foreach (var el in GetBankTerminal) { ElEquipment = el; switch (ElEquipment.Model) { case eModelEquipment.Ingenico: ElEquipment.Equipment = new IngenicoH(config, null, PosStatus); break; case eModelEquipment.VirtualBankPOS: ElEquipment.Equipment = new VirtualBankPOS(config, null, PosStatus); break; default: ElEquipment.Equipment = new BankTerminal(config); break; } Terminal = (BankTerminal)ElEquipment.Equipment; } //RRO ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.RRO).First(); switch (ElEquipment.Model) { case eModelEquipment.ExellioFP: ElEquipment.Equipment = new Equipments.ExellioFP(config, null); break; case eModelEquipment.pRRO_SG: ElEquipment.Equipment = new pRRO_SG(config, null, pActionStatus); break; case eModelEquipment.pRRo_WebCheck: ElEquipment.Equipment = new pRRO_WebCheck(config, null, pActionStatus); break; case eModelEquipment.Maria: ElEquipment.Equipment = new RRO_Maria(config, null, pActionStatus); break; case eModelEquipment.VirtualRRO: ElEquipment.Equipment = new VirtualRRO(config, null, pActionStatus); break; default: ElEquipment.Equipment = new Rro(config); break; } RRO = (Rro)ElEquipment.Equipment; State = eStateEquipment.Ok; foreach (var el in ListEquipment) { el.Equipment.SetState += (pStateEquipment, pModelEquipment) => { SetStatus?.Invoke(new StatusEquipment() { ModelEquipment = pModelEquipment, State = (int)pStateEquipment, TextState = $"" }); }; } } catch (Exception e) { FileLogger.WriteLogMessage($"EquipmentFront Exception => Message=>{e.Message}{Environment.NewLine}StackTrace=>{e.StackTrace}", eTypeLog.Error); State = eStateEquipment.Error; } }
public void SetBankTerminal(BankTerminal pBT) { Terminal = pBT; }