From 63b2f627e16aecd57c8e3d6c2eabb7680e284f66 Mon Sep 17 00:00:00 2001
From: BoolPurist <fnxa@posteo.de>
Date: Mon, 28 Feb 2022 16:35:02 +0100
Subject: [PATCH] Added 6. task

---
 Aufgaben/Money_Bridge/task_second_day.md      | 50 +++++++++++++++++++
 .../Bridge_Money_Console/MoneyUtility.cs      |  6 +--
 .../Bridge_Money_Console/Program.cs           | 25 +++++++++-
 .../Bridge_Money_Tests/TestMoneyUtility.cs    |  4 +-
 4 files changed, 78 insertions(+), 7 deletions(-)

diff --git a/Aufgaben/Money_Bridge/task_second_day.md b/Aufgaben/Money_Bridge/task_second_day.md
index 3c52c4a..bba516c 100644
--- a/Aufgaben/Money_Bridge/task_second_day.md
+++ b/Aufgaben/Money_Bridge/task_second_day.md
@@ -321,3 +321,53 @@ Price 0.80 Euro and paid 0.82 Euro = Change: 0.02 Euro
 Price 2.42 Euro and paid 3.11 Euro = Change: 0.69 Euro
 
 Price 5.00 Euro and paid 3.00 Euro = Change: 0.00 Euro
+
+## 6. Task
+
+Nun soll die Funktion namens Subtract implementiert werden.
+
+Diese Funktion soll die Differenz aus 2 Euro Beträgen errechnen.
+Beispielsweise soll die Funktion bei den Geldbeträgen 4 und 1 Euro den Betrag 3 Euro als Differenz zurückgeben.
+
+1. Parameter ist die linke Zahl einer Subtraction.
+2. Parameter ist die rechte Zahle einer Subtraction.
+
+**Beispiel:**
+```C#
+Money left = MoneyUtility.CreateFrom(4, 0);
+Money right = MoneyUtility.CreateFrom(1, 0);
+Money difference = MoneyUtility.Subtract(left, right);
+Console.WriteLine(MoneyUtility.GetTextFrom(difference)); // 3.00 Euro
+```
+**Test Code:**
+```C#
+Console.WriteLine("Testing function Subtract");
+
+Money left = MoneyUtility.CreateFrom(2, 0);
+Money right = MoneyUtility.CreateFrom(2, 0);
+Money result = MoneyUtility.Subtract(left, right);
+
+Console.WriteLine($"Difference: {MoneyUtility.GetTextFrom(result)}");
+
+left = MoneyUtility.CreateFrom(2, 10);
+right = MoneyUtility.CreateFrom(1, 52);
+result = MoneyUtility.Subtract(left, right);
+
+Console.WriteLine($"Difference: {MoneyUtility.GetTextFrom(result)}");
+
+left = MoneyUtility.CreateFrom(2, 50);
+right = MoneyUtility.CreateFrom(3, 0);
+result = MoneyUtility.Subtract(left, right);
+
+Console.WriteLine($"Difference: {MoneyUtility.GetTextFrom(result)}");
+```
+
+**Erwartete Ausgabe:**
+
+Testing function Subtract
+
+Difference: 0.00 Euro
+
+Difference: 0.58 Euro
+
+Difference: -0.50 Euro
diff --git a/Code/Money_Bridge/Bridge_Money_Console/MoneyUtility.cs b/Code/Money_Bridge/Bridge_Money_Console/MoneyUtility.cs
index 905533e..f36b5cb 100644
--- a/Code/Money_Bridge/Bridge_Money_Console/MoneyUtility.cs
+++ b/Code/Money_Bridge/Bridge_Money_Console/MoneyUtility.cs
@@ -30,10 +30,10 @@ namespace Bridge_Money_Console
             return result;
         }
         
-        public static Money Subtract(Money toSubstractFrom, Money toSubstract)
+        public static Money Subtract(Money toSubtractFrom, Money toSubtract)
         {
-            int totalCents = MoneyUtility.GetTotalCentsFrom(toSubstractFrom)
-                             - MoneyUtility.GetTotalCentsFrom(toSubstract);
+            int totalCents = MoneyUtility.GetTotalCentsFrom(toSubtractFrom)
+                             - MoneyUtility.GetTotalCentsFrom(toSubtract);
             
             Money result = new Money();
 
diff --git a/Code/Money_Bridge/Bridge_Money_Console/Program.cs b/Code/Money_Bridge/Bridge_Money_Console/Program.cs
index 282c27a..fd3b05c 100644
--- a/Code/Money_Bridge/Bridge_Money_Console/Program.cs
+++ b/Code/Money_Bridge/Bridge_Money_Console/Program.cs
@@ -6,7 +6,7 @@ namespace Bridge_Money_Console
     {
         private static void Main()
         {
-            
+            Task6();
         }
 
         private static void Task0()
@@ -142,5 +142,28 @@ namespace Bridge_Money_Console
             );
 
         }
+
+        private static void Task6()
+        {
+            Console.WriteLine("Testing function Subtract");
+            
+            Money left = MoneyUtility.CreateFrom(2, 0);
+            Money right = MoneyUtility.CreateFrom(2, 0);
+            Money result = MoneyUtility.Subtract(left, right);
+            
+            Console.WriteLine($"Difference: {MoneyUtility.GetTextFrom(result)}");
+            
+            left = MoneyUtility.CreateFrom(2, 10);
+            right = MoneyUtility.CreateFrom(1, 52);
+            result = MoneyUtility.Subtract(left, right);
+            
+            Console.WriteLine($"Difference: {MoneyUtility.GetTextFrom(result)}");
+            
+            left = MoneyUtility.CreateFrom(2, 50);
+            right = MoneyUtility.CreateFrom(3, 0);
+            result = MoneyUtility.Subtract(left, right);
+            
+            Console.WriteLine($"Difference: {MoneyUtility.GetTextFrom(result)}");
+        }
     }
 }
\ No newline at end of file
diff --git a/Code/Money_Bridge/Bridge_Money_Tests/TestMoneyUtility.cs b/Code/Money_Bridge/Bridge_Money_Tests/TestMoneyUtility.cs
index e124fbb..26e6b35 100644
--- a/Code/Money_Bridge/Bridge_Money_Tests/TestMoneyUtility.cs
+++ b/Code/Money_Bridge/Bridge_Money_Tests/TestMoneyUtility.cs
@@ -1,9 +1,7 @@
-using System;
 using Xunit;
 
 using Bridge_Money_Console;
 
-
 namespace Bridge_Money_Tests
 {
     public partial class TestMoneyUtility
@@ -86,7 +84,7 @@ namespace Bridge_Money_Tests
 
         [Theory]
         [MemberData(nameof(TestData_ApppendLeftZeros))]
-        public void Test_ApppendLeftZeros(
+        public void Test_AppendLeftZeros(
                 int givenNumber, 
                 int requiredZeros, 
                 string expectedText
-- 
GitLab