Пример #1
0
        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!");
            }
        }
Пример #2
0
 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!");
     }
 }
Пример #3
0
 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!");
     }
 }
Пример #4
0
        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!");
            }
        }
Пример #5
0
        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!");
            }
        }