public void Einzahlen_80_and_200_kontostand_80()
        {
            var konto = new Konto();

            konto.Einzahlen(80m);
            konto.Einzahlen(200m);
            Assert.Equal(280m, konto.Kontostand);
        }
        public void Einzahlen_Max_and_1_OverflowException()
        {
            var konto = new Konto();

            konto.Einzahlen(decimal.MaxValue);

            Assert.Throws <OverflowException>(() => konto.Einzahlen(1));
        }
Ejemplo n.º 3
0
        public void Konto_Einzahlen_3_und_3_Kontostand_6()
        {
            var konto = new Konto();

            konto.Einzahlen(3m);
            konto.Einzahlen(3m);

            Assert.AreEqual(6m, konto.Kontostand);
        }
Ejemplo n.º 4
0
        public void Einzahlen_50_and_90_Kontostand_should_be_140()
        {
            var konto = new Konto();

            konto.Einzahlen(50m);
            konto.Einzahlen(90m);

            konto.Kontostand.ShouldBe(140m);
        }
        public void Konto_hat_nach_mehrmaliger_Einzahlung_korrekten_Kontostand(
            int wert1, int wert2, int wert3, int expected)
        {
            var sut = new Konto();

            sut.Einzahlen(new Geld(wert1));
            sut.Einzahlen(new Geld(wert2));
            sut.Einzahlen(new Geld(wert3));
            sut.Kontostand.Value.Should().Be(expected);
        }
        public void Einzahlung_mit_ungueltigem_Geldwert_schmeisst_Exception(int geld)
        {
            var    sut    = new Konto();
            Action action = () => sut.Einzahlen(new Geld(geld));

            action.Should().Throw <InvalidGeldValueException>();
        }
        public void Abheben_during_Week_NoProblems()
        {
            var konto = new Konto();

            konto.Einzahlen(10);

            using (ShimsContext.Create())
            {
                // Monday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 2);
                konto.Abheben(1);

                // Tuesday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 3);
                konto.Abheben(1);

                // Wednesday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 4);
                konto.Abheben(1);

                // Thursday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 5);
                konto.Abheben(1);

                // Friday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 6);
                konto.Abheben(1);
            }

            Assert.Equal(5, konto.Kontostand);
        }
        public void Konto_hat_nach_initialem_Einzahlung_korrekten_Kontostand(int wert, int expected)
        {
            var sut = new Konto();

            sut.Einzahlen(new Geld(wert));
            sut.Kontostand.Value.Should().Be(expected);
        }
        public void Konto_hat_nach_Abheben_korrekten_Kontostand()
        {
            var sut = new Konto();

            sut.Einzahlen(new Geld(10));
            sut.Abheben(new Geld(7));
            sut.Kontostand.Value.Should().Be(3);
        }
        public void Auszahlen_more_than_Kontostand_should_throw_ArgumentException(decimal einzahlen, decimal auszahlen)
        {
            var konto = new Konto();

            konto.Einzahlen(einzahlen);

            Should.Throw <ArgumentException>(() => konto.Auszahlen(auszahlen));
        }
Ejemplo n.º 11
0
        public void Konto_gibt_nach_Abheben_korrekten_Wert_zurueck()
        {
            var sut = new Konto();

            sut.Einzahlen(new Geld(10));
            var abhebung = sut.Abheben(new Geld(7));

            abhebung.Value.Should().Be(7);
        }
Ejemplo n.º 12
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Konto k = new Konto();

            k.Kontostand = 500;
            k.Einzahlen(1000);

            MessageBox.Show(k.Kontostand.ToString());
        }
        public void Einzahlen_50_Auszahlen_35_Kontostand_should_be_15()
        {
            var konto = new Konto();

            konto.Einzahlen(50m);

            konto.Auszahlen(35m);

            konto.Kontostand.ShouldBe(15m);
        }
        public void Abheben_more_than_kontostand_InvalidOperationExeption(decimal einzahlen, decimal auszahlen)
        {
            var konto = new Konto();

            konto.Einzahlen(einzahlen);
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 2);
                Assert.Throws <InvalidOperationException>(() => konto.Abheben(auszahlen));
            }
        }
Ejemplo n.º 15
0
        // [InlineData(0)] // <-- Problem?
        // [InlineData(-10)] // <-- Problem?
        public void Kontostand_ist_nach_Einzahlung_groesser_als_davor(int geld)
        {
            // Arrange
            var sut = new Konto(); // SUT: System Under Test

            // Act
            sut.Einzahlen(geld);

            // Assert
            sut.Kontostand.Should().BeGreaterThan(0);
        }
        public void Einzahlen_80_Auszahlen_4_and_9Point3_Kontostand_should_be_66Point7()
        {
            var konto = new Konto();

            konto.Einzahlen(80m);

            konto.Auszahlen(4m);
            konto.Auszahlen(9.3m);

            konto.Kontostand.ShouldBe(66.7m);
        }
        public void Abheben_negative_values_ArgumentException(decimal value)
        {
            var konto = new Konto();

            konto.Einzahlen(int.MaxValue);
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 2);
                Assert.Throws <ArgumentException>(() => konto.Abheben(value));
            }
        }
Ejemplo n.º 18
0
        public void Auszahlen_negative_value_should_throw_ArgumentException(decimal value)
        {
            var konto = new Konto();

            konto.Einzahlen(20000);
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 05);
                Should.Throw <ArgumentException>(() => konto.Auszahlen(value));
            }
        }
Ejemplo n.º 19
0
        public void Konto_Einzahlen_10_Auszahlen_13_InvalidOperationException()
        {
            var konto = new Konto();

            konto.Einzahlen(10m);

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 14);
                konto.Auszahlen(13m);   // expected: InvalidOperationException
            }
        }
        public void Einzahlen_8_Abheben_3_Kontostand_5()
        {
            var konto = new Konto();

            konto.Einzahlen(8);
            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 2);
                konto.Abheben(3m);
            }
            Assert.Equal(5m, konto.Kontostand);
        }
Ejemplo n.º 21
0
        public void Auszahlen_more_than_Kontostand_should_throw_ArgumentException(decimal einzahlen, decimal auszahlen)
        {
            var konto = new Konto();

            konto.Einzahlen(einzahlen);

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 05);
                Should.Throw <ArgumentException>(() => konto.Auszahlen(auszahlen));
            }
        }
        public void Abheben_on_Sunday_InvalidOperationException()
        {
            var konto = new Konto();

            konto.Einzahlen(10);

            using (ShimsContext.Create())
            {
                // Sunday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 8);
                output.WriteLine($"Sould be Sunday. Is: {DateTime.Now.DayOfWeek}");
                Assert.Throws <InvalidOperationException>(() => konto.Abheben(5));
            }
        }
Ejemplo n.º 23
0
        public void Konto_Einzahlen_7_Auszahlen_4_Kontostand_3()
        {
            var konto = new Konto();

            konto.Einzahlen(7m);

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 14);
                konto.Auszahlen(4m);
            }

            Assert.AreEqual(3m, konto.Kontostand);
        }
Ejemplo n.º 24
0
        public void Kontostaende_sind_nach_Ueberweisung_korrekt()
        {
            var konto1 = new Konto();

            konto1.Einzahlen(new Geld(10));
            var konto2 = new Konto();

            konto2.Einzahlen(new Geld(100));

            konto1.Ueberweise(new Geld(7), konto2);

            konto1.Kontostand.Value.Should().Be(3);
            konto2.Kontostand.Value.Should().Be(107);
        }
Ejemplo n.º 25
0
        public void Auszaheln_on_sunday_should_throw_InvalidOperationException()
        {
            var konto = new Konto();

            konto.Einzahlen(60);

            using (ShimsContext.Create())
            {
                // 2017-10-15 -> Sunday
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 15);

                Should.Throw <InvalidOperationException>(() => konto.Auszahlen(10));
            }
        }
Ejemplo n.º 26
0
        public void Einzahlen_50_Auszahlen_35_Kontostand_should_be_15()
        {
            var konto = new Konto();

            konto.Einzahlen(50m);


            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 05);
                konto.Auszahlen(35m);
            }

            konto.Kontostand.ShouldBe(15m);
        }
Ejemplo n.º 27
0
        public void Einzahlen_80_Auszahlen_4_and_9Point3_Kontostand_should_be_66Point7()
        {
            var konto = new Konto();

            konto.Einzahlen(80m);


            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 05);
                konto.Auszahlen(4m);
                konto.Auszahlen(9.3m);
            }

            konto.Kontostand.ShouldBe(66.7m);
        }
        [InlineData(-10, false)] // <-- Problem?
        public void Kontostand_ist_nach_Einzahlung_groesser_als_davor(int geld, bool shouldPass)
        {
            // Arrange
            var sut = new Konto(); // SUT: System Under Test

            // Act
            sut.Einzahlen(geld);

            // Assert
            if (shouldPass)
            {
                sut.Kontostand.Should().BeGreaterThan(0);
            }
            else
            {
                sut.Kontostand.Should().BeLessOrEqualTo(0);
            }
        }
Ejemplo n.º 29
0
        public void Konto_Auszahlen_UnterDerWoche_InvalidOperationException()
        {
            var konto = new Konto();

            konto.Einzahlen(10);

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 14);
                konto.Auszahlen(1m);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 15);
                konto.Auszahlen(1m);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 16);
                konto.Auszahlen(1m);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 17);
                konto.Auszahlen(1m);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 08, 18);
                konto.Auszahlen(1m);
            }
        }
Ejemplo n.º 30
0
        public void Auszaheln_on_weekday_should_not_throw_InvalidOperationException()
        {
            var konto = new Konto();

            konto.Einzahlen(60);

            using (ShimsContext.Create())
            {
                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 16);
                konto.Auszahlen(10);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 17);
                konto.Auszahlen(10);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 18);
                konto.Auszahlen(10);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 19);
                konto.Auszahlen(10);

                System.Fakes.ShimDateTime.NowGet = () => new DateTime(2017, 10, 20);
                konto.Auszahlen(10);
            }
        }