public void TestExample() { using (StringWriter sw = new StringWriter()) { IOU mattsIOU = new IOU(); mattsIOU.ChangeDebt("Arthur", 51); mattsIOU.ChangeDebt("Michael", 30); TextWriter stdout = Console.Out; Console.SetOut(sw); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Arthur")); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Michael")); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Heikki")); Console.SetOut(stdout); // Assert Assert.AreEqual("51\n30\n0\n", sw.ToString().Replace("\r\n", "\n"), "The example should work!"); } }
public void TestMultipleChanges() { using (StringWriter sw = new StringWriter()) { TextWriter stdout = Console.Out; Console.SetOut(sw); IOU mattsIOU = new IOU(); mattsIOU.ChangeDebt("Heikki", 81); mattsIOU.ChangeDebt("Heikki", -30); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Heikki")); mattsIOU.ChangeDebt("Heikki", 20); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Heikki")); mattsIOU.ChangeDebt("Heikki", 80); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Heikki")); mattsIOU.ChangeDebt("Heikki", -121); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Heikki")); Console.SetOut(stdout); Assert.AreEqual("51\n71\n151\n30\n", sw.ToString().Replace("\r\n", "\n"), "Multiple changes should change the value multiple times!"); } }
public void TestSecondExample() { using (StringWriter sw = new StringWriter()) { TextWriter stdout = Console.Out; Console.SetOut(sw); IOU mattsIOU = new IOU(); mattsIOU.ChangeDebt("Arthur", -10); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Arthur")); mattsIOU.ChangeDebt("Arthur", 51); mattsIOU.ChangeDebt("Arthur", 30); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Arthur")); mattsIOU.ChangeDebt("Arthur", -30); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Arthur")); mattsIOU.ChangeDebt("Arthur", -80); Console.WriteLine(mattsIOU.HowMuchDoIOweTo("Arthur")); Console.SetOut(stdout); Assert.AreEqual("0\n81\n51\n0\n", sw.ToString().Replace("\r\n", "\n"), "The second example should work!"); } }
public void TestSimpleNegativeAdd() { using (StringWriter sw = new StringWriter()) { IOU myIou = new IOU(); myIou.ChangeDebt("You", -69); TextWriter stdout = Console.Out; Console.SetOut(sw); Console.WriteLine(myIou.HowMuchDoIOweTo("You")); Console.SetOut(stdout); // Assert Assert.AreEqual("0\n", sw.ToString().Replace("\r\n", "\n"), "Initial negative should not add debt!"); } }
public void TestSimpleAdd() { using (StringWriter sw = new StringWriter()) { IOU myIou = new IOU(); myIou.ChangeDebt("You", 69); TextWriter stdout = Console.Out; Console.SetOut(sw); Console.WriteLine(myIou.HowMuchDoIOweTo("You")); Console.SetOut(stdout); // Assert Assert.AreEqual("69\n", sw.ToString().Replace("\r\n", "\n"), "Single Change should still update the value!"); } }