public void TestAvailabelAmount200Set_CorrectValue() { var UncorrectValue = 1000000; var atmLogic = new ATMLogic(); Assert.Throws <ArgumentException>(() => { atmLogic.AvailabelAmount200 = UncorrectValue; }, "Должно возникать исключение, если сумма банкнот больше 61000"); }
public void TestAvailabelAmount200Get_CorrectValue() { var expected = 200; var atmLogic = new ATMLogic(); atmLogic.AvailabelAmount200 = expected; var actual = atmLogic.AvailabelAmount200; Assert.AreEqual(expected, actual, "Геттер AvailabelAmount200 возвращает неправильное имя заметки"); }
public void TestTotalAvailabelAmountGet_CorrectValue() { var expected = 5000; var atmLogic = new ATMLogic(); atmLogic.TotalAvailabelAmount = expected; var actual = atmLogic.TotalAvailabelAmount; Assert.AreEqual(expected, actual, "Геттер TotalAvailabelAmount возвращает неправильное имя заметки"); }
private void InsertButton_Click(object sender, EventArgs e) { ATMLogic atmLogic = new ATMLogic(); this.DialogResult = DialogResult.OK; //Записываем в переменную _project данные из файла _project = ProjectManager.LoadFromFile(@"..\ATMCondition.txt"); //Если файл отсутствует if (_project == null) { //Проверяем вносимую сумму if (Sum <= 300000) { //Проверка на кол-во вносимых купюр номиналом 10 if (Banknote10 <= 15000) { _ATMLogic.AvailabelAmount10 = Banknote10; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 10.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 50 if (Banknote50 <= 15000) { _ATMLogic.AvailabelAmount50 = Banknote50; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 50.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 100 if (Banknote100 <= 60000) { _ATMLogic.AvailabelAmount100 = Banknote100; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 100.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 200 if (Banknote200 <= 60000) { _ATMLogic.AvailabelAmount200 = Banknote200; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 200.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 500 if (Banknote500 <= 300000) { _ATMLogic.AvailabelAmount500 = Banknote500; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 500.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 1000 if (Banknote1000 <= 600000) { _ATMLogic.AvailabelAmount1000 = Banknote1000; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 1000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 2000 if (Banknote2000 <= 600000) { _ATMLogic.AvailabelAmount2000 = Banknote2000; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 2000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка на кол-во вносимых купюр номиналом 5000 if (Banknote5000 <= 750000) { _ATMLogic.AvailabelAmount5000 = Banknote5000; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 5000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } _ATMLogic.TotalAvailabelAmount = Sum; //Передаем данные в класс atmLogic для проверки atmLogic.AvailabelAmount10 = Banknote10; atmLogic.AvailabelAmount50 = Banknote50; atmLogic.AvailabelAmount100 = Banknote100; atmLogic.AvailabelAmount200 = Banknote200; atmLogic.AvailabelAmount500 = Banknote500; atmLogic.AvailabelAmount1000 = Banknote1000; atmLogic.AvailabelAmount2000 = Banknote2000; atmLogic.AvailabelAmount5000 = Banknote5000; atmLogic.TotalAvailabelAmount = Sum; } else { DialogResult result = MessageBox.Show("Нельзя вносить более 300 000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } } //Если файл не отсутствует if (_project != null) { var CurrentLoadConditions = _project.ATMCondition; //Если сумма, хранящаяся в данкомате + сумма, вносимая пользователем меньше либо равно 300 000 if (CurrentLoadConditions[0].TotalAvailabelAmount + Sum <= 300000) { //Проверка наличия места в хранилище купюр номиналом 10 if (CurrentLoadConditions[0].AvailabelAmount10 + Banknote10 <= 15000) { CurrentLoadConditions[0].AvailabelAmount10 += Banknote10; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 10.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 50 if (CurrentLoadConditions[0].AvailabelAmount50 + Banknote50 <= 15000) { CurrentLoadConditions[0].AvailabelAmount50 += Banknote50; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 50.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 100 if (CurrentLoadConditions[0].AvailabelAmount100 + Banknote100 <= 60000) { CurrentLoadConditions[0].AvailabelAmount100 += Banknote100; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 100.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 200 if (CurrentLoadConditions[0].AvailabelAmount200 + Banknote200 <= 60000) { CurrentLoadConditions[0].AvailabelAmount200 += Banknote200; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 200.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 500 if (CurrentLoadConditions[0].AvailabelAmount500 + Banknote500 <= 300000) { CurrentLoadConditions[0].AvailabelAmount500 += Banknote500; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 500.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 1000 if (CurrentLoadConditions[0].AvailabelAmount1000 + Banknote1000 <= 600000) { CurrentLoadConditions[0].AvailabelAmount1000 += Banknote1000; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 1000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 2000 if (CurrentLoadConditions[0].AvailabelAmount2000 + Banknote2000 <= 600000) { CurrentLoadConditions[0].AvailabelAmount2000 += Banknote2000; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 2000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверка наличия места в хранилище купюр номиналом 5000 if (CurrentLoadConditions[0].AvailabelAmount5000 + Banknote5000 <= 750000) { CurrentLoadConditions[0].AvailabelAmount5000 += Banknote5000; } else { DialogResult result = MessageBox.Show("Недостаточно места в хранилище купюр номиналом 5000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } CurrentLoadConditions[0].TotalAvailabelAmount += Sum; } else { DialogResult result = MessageBox.Show("Нельзя вносить более 300 000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Передаем данные в абстрактный класс _ATMLogic.AvailabelAmount10 = CurrentLoadConditions[0].AvailabelAmount10; _ATMLogic.AvailabelAmount50 = CurrentLoadConditions[0].AvailabelAmount50; _ATMLogic.AvailabelAmount100 = CurrentLoadConditions[0].AvailabelAmount100; _ATMLogic.AvailabelAmount200 = CurrentLoadConditions[0].AvailabelAmount200; _ATMLogic.AvailabelAmount500 = CurrentLoadConditions[0].AvailabelAmount500; _ATMLogic.AvailabelAmount1000 = CurrentLoadConditions[0].AvailabelAmount1000; _ATMLogic.AvailabelAmount2000 = CurrentLoadConditions[0].AvailabelAmount2000; _ATMLogic.AvailabelAmount5000 = CurrentLoadConditions[0].AvailabelAmount5000; _ATMLogic.TotalAvailabelAmount = CurrentLoadConditions[0].TotalAvailabelAmount; //Передаем данные на проверку atmLogic.AvailabelAmount10 = CurrentLoadConditions[0].AvailabelAmount10; atmLogic.AvailabelAmount50 = CurrentLoadConditions[0].AvailabelAmount50; atmLogic.AvailabelAmount100 = CurrentLoadConditions[0].AvailabelAmount100; atmLogic.AvailabelAmount200 = CurrentLoadConditions[0].AvailabelAmount200; atmLogic.AvailabelAmount500 = CurrentLoadConditions[0].AvailabelAmount500; atmLogic.AvailabelAmount1000 = CurrentLoadConditions[0].AvailabelAmount1000; atmLogic.AvailabelAmount2000 = CurrentLoadConditions[0].AvailabelAmount2000; atmLogic.AvailabelAmount5000 = CurrentLoadConditions[0].AvailabelAmount5000; atmLogic.TotalAvailabelAmount = CurrentLoadConditions[0].TotalAvailabelAmount; } }
private void GiveOutButton_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; //Считываем данные из файла в переменную _project _project = ProjectManager.LoadFromFile(@"..\ATMCondition.txt"); //Если файл отсутствует if (_project == null) { //Выводим сообщение о том, что банкомат не пополнялся DialogResult result = MessageBox.Show("Банкомат не пополнялся, продолжить?", "Ошибка", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); this.Show(); } //Если выдаваемая сумма меньше 150 000 if (Sum <= 150000) { ATMLogic atmLogic = new ATMLogic(); if (_project != null) { //Создаем переменную, присваимваем ей значение int SumCurrent = 0; //Записываем в переменную CurrentLoadConditions содержимое списка ATMCondition var CurrentLoadConditions = _project.ATMCondition; //Проверяем достаточно ли полной суммы в банкомате if (CurrentLoadConditions[0].TotalAvailabelAmount - Sum >= 0) { //Проверяем достаточно ли купюр номиналом 10 в банкомте if (CurrentLoadConditions[0].AvailabelAmount10 - Banknote10 >= 0) { CurrentLoadConditions[0].AvailabelAmount10 -= Banknote10; SumCurrent += Banknote10; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 10.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 50 в банкомте if (CurrentLoadConditions[0].AvailabelAmount50 - Banknote50 >= 0) { CurrentLoadConditions[0].AvailabelAmount50 -= Banknote50; SumCurrent += Banknote50; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 50.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 100 в банкомте if (CurrentLoadConditions[0].AvailabelAmount100 - Banknote100 >= 0) { CurrentLoadConditions[0].AvailabelAmount100 -= Banknote100; SumCurrent += Banknote100; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 100.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 200 в банкомте if (CurrentLoadConditions[0].AvailabelAmount200 - Banknote200 >= 0) { CurrentLoadConditions[0].AvailabelAmount200 -= Banknote200; SumCurrent += Banknote200; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 200.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 500 в банкомте if (CurrentLoadConditions[0].AvailabelAmount500 - Banknote500 >= 0) { CurrentLoadConditions[0].AvailabelAmount500 -= Banknote500; SumCurrent += Banknote500; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 500.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 1000 в банкомте if (CurrentLoadConditions[0].AvailabelAmount1000 - Banknote1000 >= 0) { CurrentLoadConditions[0].AvailabelAmount1000 -= Banknote1000; SumCurrent += Banknote1000; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 1000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 2000 в банкомте if (CurrentLoadConditions[0].AvailabelAmount2000 - Banknote2000 >= 0) { CurrentLoadConditions[0].AvailabelAmount2000 -= Banknote2000; SumCurrent += Banknote2000; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 2000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Проверяем достаточно ли купюр номиналом 5000 в банкомте if (CurrentLoadConditions[0].AvailabelAmount5000 - Banknote5000 >= 0) { CurrentLoadConditions[0].AvailabelAmount5000 -= Banknote5000; SumCurrent += Banknote5000; } else { DialogResult result = MessageBox.Show("Недостаточно купюр номиналом 5000.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } //Вычитаем из полной суммы банкомата сумму, которую ввел пользователь при выдаче CurrentLoadConditions[0].TotalAvailabelAmount -= SumCurrent; //Передаем данные в абстрактный класс для проверки _ATMLogic.AvailabelAmount10 = CurrentLoadConditions[0].AvailabelAmount10; _ATMLogic.AvailabelAmount50 = CurrentLoadConditions[0].AvailabelAmount50; _ATMLogic.AvailabelAmount100 = CurrentLoadConditions[0].AvailabelAmount100; _ATMLogic.AvailabelAmount200 = CurrentLoadConditions[0].AvailabelAmount200; _ATMLogic.AvailabelAmount500 = CurrentLoadConditions[0].AvailabelAmount500; _ATMLogic.AvailabelAmount1000 = CurrentLoadConditions[0].AvailabelAmount1000; _ATMLogic.AvailabelAmount2000 = CurrentLoadConditions[0].AvailabelAmount2000; _ATMLogic.AvailabelAmount5000 = CurrentLoadConditions[0].AvailabelAmount5000; _ATMLogic.TotalAvailabelAmount = CurrentLoadConditions[0].TotalAvailabelAmount; this.DialogResult = DialogResult.OK; } else { DialogResult result = MessageBox.Show("Недостаточно средств.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); //Передаем данные в абстрактный класс для проверки _ATMLogic.AvailabelAmount10 = CurrentLoadConditions[0].AvailabelAmount10; _ATMLogic.AvailabelAmount50 = CurrentLoadConditions[0].AvailabelAmount50; _ATMLogic.AvailabelAmount100 = CurrentLoadConditions[0].AvailabelAmount100; _ATMLogic.AvailabelAmount200 = CurrentLoadConditions[0].AvailabelAmount200; _ATMLogic.AvailabelAmount500 = CurrentLoadConditions[0].AvailabelAmount500; _ATMLogic.AvailabelAmount1000 = CurrentLoadConditions[0].AvailabelAmount1000; _ATMLogic.AvailabelAmount2000 = CurrentLoadConditions[0].AvailabelAmount2000; _ATMLogic.AvailabelAmount5000 = CurrentLoadConditions[0].AvailabelAmount5000; _ATMLogic.TotalAvailabelAmount = CurrentLoadConditions[0].TotalAvailabelAmount; } } } else { DialogResult result = MessageBox.Show("Нельзя выдать более 150 000", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Show(); } }