static void FileOperation(string inputFile, string outputFile) { FileHandler handler = new FileHandler(inputFile, outputFile); MinChangeCalculator minCalculator = new MinChangeCalculator(); RandomChangeCalculator randomCalculator = new RandomChangeCalculator(); ChangeCalculator.ChangeCalculator calculator = new ChangeCalculator.ChangeCalculator(handler, minCalculator, randomCalculator); try { calculator.CalculateChange(); } catch (FileNotFoundException) { Console.WriteLine($"Failed to find file {inputFile}"); } catch (IOException) { Console.WriteLine($"Failed to save file {outputFile}"); } catch (Exception ex) { Console.WriteLine($"Exception! {ex.Message}"); } }
static void Main(string[] args) { var calculator = new ChangeCalculator(); var output = calculator.CalculateChange(20.00m, 5.50m); Console.WriteLine("Your change is:"); ChangeCalculator.PrettyPrint(output); }
public void GivenAChangeCalculator_WithInvalidAmount_CalculateShouldThrowException(int amount) { // Arange: var someChangeCalculator = new ChangeCalculator(); // Act: // someChangeCalculator.Calculate(amount); // Asset: Assert.Throws <ArgumentException>(() => someChangeCalculator.Calculate(amount)); }
public void GivenAChangeCalculator_Calculate_CalculatesCorrectly(int amount, int expQuartersCount, int expDimesCount, int expNicklesCount, int expPenniesCount) { // Define test cases. Give array of test to opporate against with same logic // Arrange: var someChangeCalculator = new ChangeCalculator(); // Act: someChangeCalculator.Calculate(amount); // Asset: Assert.AreEqual(someChangeCalculator.quartersCount, expQuartersCount, $"Quarter amounts did not match: {someChangeCalculator.quartersCount}."); Assert.AreEqual(someChangeCalculator.dimesCount, expDimesCount, $"Dimes amounts did not match: {someChangeCalculator.dimesCount}."); Assert.AreEqual(someChangeCalculator.nickelsCount, expNicklesCount, $"Nickels amounts did not match: {someChangeCalculator.nickelsCount}."); Assert.AreEqual(someChangeCalculator.penniesCount, expPenniesCount, $"Pennies amounts did not match: {someChangeCalculator.penniesCount}."); }
// Madison Mehalko // 11/08/17 // Homework 7 private void btnCalculate_Click(object sender, EventArgs e) { // Check if change amount is valid. try { if (string.IsNullOrEmpty(txtChange.Text)) { return; } // Is an int var amount = 0; if (int.TryParse(txtChange.Text, out amount)) { errorProvider1.Clear(); var cc = new ChangeCalculator(); cc.Calculate(amount); txtQuarters.Text = cc.quartersCount.ToString(); txtDimes.Text = cc.dimesCount.ToString(); txtNickels.Text = cc.nickelsCount.ToString(); txtPennies.Text = cc.penniesCount.ToString(); } else { errorProvider1.SetError(txtChange, "Need to enter a number."); } } catch (ArgumentException ex) { errorProvider1.SetError(txtChange, ex.Message); } finally { txtChange.Focus(); } }
public void GivingAChangeCalculator_Reset_SetsAllValuesToZero() { // 3 Parts that make up unit test. Arrange, Act, Assert. // Arrange: Set object up to operate against it. // Act: Do operation. Capture results. // Assert: Evaluate expected result against actual results. // Arrange. Create new object and set property values. var someChangeCalculator = new ChangeCalculator(); someChangeCalculator.quartersCount = 3; someChangeCalculator.penniesCount = 2; someChangeCalculator.dimesCount = 8; someChangeCalculator.nickelsCount = 0; // Act someChangeCalculator.Reset(); // Assert Assert.AreEqual(someChangeCalculator.quartersCount, 0); Assert.AreEqual(someChangeCalculator.dimesCount, 0); Assert.AreEqual(someChangeCalculator.nickelsCount, 0); Assert.AreEqual(someChangeCalculator.penniesCount, 0); }