예제 #1
0
        public void Addition_von_Geldbetraegen_funktioniert(int betrag1, int betrag2, int endBetrag)
        {
            var g1 = new Geld(betrag1, Waehrung.EUR);
            var g2 = new Geld(betrag2, Waehrung.EUR);

            g1.Addiere(g2).Value.Should().Be(endBetrag);
        }
예제 #2
0
        public void Subtraktion_von_Geldbetraegen_funktioniert(int betrag1, int betrag2, int endBetrag)
        {
            var g1 = new Geld(betrag1);
            var g2 = new Geld(betrag2);

            g1.Subtrahiere(g2).Value.Should().Be(endBetrag);
        }
예제 #3
0
        public void Subtraktion_von_Geldbetraegen_mit_minus_funktioniert(int betrag1, int betrag2, int endBetrag)
        {
            var g1 = new Geld(betrag1, Waehrung.EUR);
            var g2 = new Geld(betrag2, Waehrung.EUR);

            (g1 - g2).Value.Should().Be(endBetrag);
        }
예제 #4
0
    private Geld MaakGeldValutaGelijk(Geld g, Geld m)
    {
        switch (g.ToString().Substring(0, 1))
        {
        case "E":
            m.ConvertTo(Valuta.Euro);
            ValutaLinks = Valuta.Euro;
            break;

        case "G":
            m.ConvertTo(Valuta.Gulden);
            ValutaLinks = Valuta.Gulden;

            break;

        case "D":
            m.ConvertTo(Valuta.Dukaat);
            ValutaLinks = Valuta.Dukaat;

            break;

        case "F":
            m.ConvertTo(Valuta.Florijn);
            ValutaLinks = Valuta.Florijn;

            break;
        }

        return(m);
    }
예제 #5
0
        public void Subtraktion_von_Geldbetraegen_schmeisst_wenn_Ergebnis_kleiner_Null(int betrag1, int betrag2)
        {
            var    g1     = new Geld(betrag1);
            var    g2     = new Geld(betrag2);
            Action action = () => g1.Subtrahiere(g2);

            action.Should().Throw <InvalidGeldValueException>("weil Geld nicht negativ sein kann");
        }
예제 #6
0
        public void AanmakenGeldTest()
        {
            // Arrange
            var target = new Geld(10.0M, Muntsoort.Euro);

            // Assert
            Assert.AreNotEqual(null, target);
        }
예제 #7
0
        public void Subtraktion_von_Geldbetraegen_mit_unterschiedlicher_Waehrung_schmeisst()
        {
            var    g1     = new Geld(1, Waehrung.EUR);
            var    g2     = new Geld(1, Waehrung.USD);
            Action action = () => g1.Subtrahiere(g2);

            action.Should().Throw <InvalidGeldValueException>()
            .WithMessage("Waehrungen stimmen nicht ueberein");
        }
예제 #8
0
        public void ValutaToStringStandaardTest()
        {
            //Arrange

            //Act
            Geld geld = new Geld(30.00M);

            //Assert
            Assert.AreEqual(Valuta.Euro.ToString() + " " + 30.00M.ToString(), geld.ToString());
        }
예제 #9
0
        public void ValutaToGeldCastTest()
        {
            //arrange
            Geld money = new Geld(Valuta.Euro, 30.00M);

            //act
            decimal geld = (decimal)money;

            //assert
            Assert.AreEqual(30.00M, geld);
        }
예제 #10
0
        public void ValutaToGeldCastPlusConvertTest()
        {
            //arrange
            Geld    money  = new Geld(Valuta.Gulden, 30.00M);
            decimal target = Math.Round(30.00M / 2.20371M, 2);
            //act
            decimal geld = (decimal)money;

            //assert
            Assert.AreEqual(target, geld);
        }
예제 #11
0
    private decimal ParseBedragToDecimal(Geld geld)
    {
        string  BedragString = geld.ToString().Split(' ')[1];
        decimal ParseBedragDecimal;

        if (!decimal.TryParse(BedragString, out ParseBedragDecimal))
        {
            throw new ArgumentException("Dit is geen geld");
        }
        return(ParseBedragDecimal);
    }
예제 #12
0
        public void DecimalToValutaCastTest()
        {
            //arrange
            Geld money = new Geld(Valuta.Euro, 30.00M);

            //act
            Geld geld = (Geld)30.00M;

            //assert
            Assert.AreEqual(money.ToString(), geld.ToString());
        }
예제 #13
0
        public void GeldConversieTest()
        {
            // Arrange
            var target = new Geld(20.0M, Muntsoort.Euro);

            // Act
            var result = target.ToString();

            // Assert
            Assert.AreEqual(true, result.Contains("20"));
            Assert.AreEqual("Euro", result.Substring(0, 4));
        }
예제 #14
0
        public void GeldIsNullCompareTest()
        {
            // Arange
            var bedrag = 10.0M;
            var geld1  = new Geld(bedrag, Muntsoort.Euro);

            // Act
            var result = geld1 == null;

            // Assert
            Assert.AreEqual(false, result);
        }
예제 #15
0
        public void GeldCompareHash1codes()
        {
            // Arange
            var bedrag = 10.0M;
            var geld1  = new Geld(bedrag, Muntsoort.Euro);

            // Act
            var result = geld1.GetHashCode();

            // Assert
            Assert.AreEqual(1, result);
        }
예제 #16
0
        static void Main(string[] args)
        {
            Geld meinGeld = new Geld(100);
            Geld deinGeld = new Geld(500);

            Geld    test = 500;
            decimal val  = (decimal)test;

            meinGeld = meinGeld + deinGeld;
            Console.WriteLine(meinGeld.Menge);
            Console.ReadLine();
        }
예제 #17
0
        public void GeldToStringTest()
        {
            // Arrange
            var target = new Geld(20.0M, Muntsoort.Euro);

            // Act
            var result = target.ToString();

            // Assert
            Assert.AreEqual(true, result.Contains("Euro 20"));
            Assert.AreEqual(true, result.Contains("00"));
        }
예제 #18
0
        public void DukaatNietISEuroTest()
        {
            //Arrange
            Geld geld  = new Geld(Valuta.Dukaat, 20.00M);
            Geld money = new Geld(Valuta.Euro, 30.00M);

            //Act
            bool result = geld != money;

            //Assert
            Assert.IsTrue(result);
        }
예제 #19
0
        public void DukaatISISDukaatTest()
        {
            //Arrange
            Geld geld  = new Geld(Valuta.Dukaat, 20.00M);
            Geld money = new Geld(Valuta.Dukaat, 20.00M);

            //Act
            bool result = geld == money;

            //Assert
            Assert.IsTrue(result);
        }
예제 #20
0
        public void GeldVergelijkMetGeldOngelijk2Test()
        {
            // Arange
            var bedrag = 10.0M;
            var geld1  = new Geld(bedrag, Muntsoort.Euro);
            var geld2  = new Geld(bedrag, Muntsoort.Gulden);

            // Act
            var result = geld1 != geld2;

            // Assert
            Assert.AreEqual(true, result);
        }
예제 #21
0
        public void GeldSubtract20GeldTest()
        {
            // Arange
            var bedrag = 20.0M;
            var geld1  = new Geld(bedrag, Muntsoort.Euro);
            var geld2  = new Geld(bedrag, Muntsoort.Euro);

            // Act
            var result = geld1 - geld2;

            // Assert
            Assert.AreEqual(true, result.ToString().Contains("Euro"));
            Assert.AreEqual(true, result.ToString().Contains("0"));
        }
예제 #22
0
        public void ValutaConvertToFlorijnFromEuroTest()
        {
            //Arrange
            Geld    geld              = new Geld(Valuta.Euro, 30.00M);
            decimal NieuwBedrag       = 30.00M * 2.20371M;
            string  NieuwBedragString = string.Format("{0:N2}", NieuwBedrag);
            string  target            = Valuta.Florijn.ToString() + " " + NieuwBedragString;

            //Act
            geld.ConvertTo(Valuta.Florijn);

            //Assert
            Assert.AreEqual(target, geld.ToString());
        }
예제 #23
0
        public void GeldEqualsGeldTest()
        {
            // Arrange
            var bedrag    = 10.0M;
            var muntsoort = Muntsoort.Euro;
            var geld1     = new Geld(bedrag, muntsoort);
            var geld2     = new Geld(bedrag, muntsoort);

            // Act
            var result = geld1.Equals(geld2);

            // Assert
            Assert.AreEqual(true, result);
        }
예제 #24
0
        public void ValutaConvertToDukaatFromDukaatTest()
        {
            //Arrange
            Geld    geld              = new Geld(Valuta.Dukaat, 30.00M);
            decimal NieuwBedrag       = 30.00M;
            string  NieuwBedragString = string.Format("{0:N2}", NieuwBedrag);
            string  target            = Valuta.Dukaat.ToString() + " " + NieuwBedragString;

            //Act
            geld.ConvertTo(Valuta.Dukaat);

            //Assert
            Assert.AreEqual(target, geld.ToString());
        }
예제 #25
0
        public void GeldSubtract5From10GeldTest()
        {
            // Arange
            var beginBedrag    = 10.0M;
            var subtractBedrag = 5.0M;
            var geld1          = new Geld(beginBedrag, Muntsoort.Euro);
            var geld2          = new Geld(subtractBedrag, Muntsoort.Euro);

            // Act
            var result = geld1 - geld2;

            // Assert
            Assert.AreEqual(true, result.ToString().Contains("Euro"));
            Assert.AreEqual(true, result.ToString().Contains("5"));
        }
예제 #26
0
        public void GeldEqualsAlternatiefMuntsoortGeldTest()
        {
            // Arrange
            var bedrag               = 10.0M;
            var muntsoort            = Muntsoort.Euro;
            var alternatiefMuntsoort = Muntsoort.Florijn;
            var geld1 = new Geld(bedrag, muntsoort);
            var geld2 = new Geld(bedrag, alternatiefMuntsoort);

            // Act
            var result = geld1.Equals(geld2);

            // Assert
            Assert.AreEqual(false, result);
        }
예제 #27
0
        public void EuroPlusDukaatTest()
        {
            //Arrange
            Geld geld  = new Geld(Valuta.Euro, 30.00M);
            Geld money = new Geld(Valuta.Dukaat, 30.00M);

            decimal NieuwBedrag       = (30.00M / 2.20371M * 5.1M) + 30M;
            string  NieuwBedragString = string.Format("{0:N2}", NieuwBedrag);
            string  target            = Valuta.Euro.ToString() + " " + NieuwBedragString;

            //Act
            Geld result = geld + money;

            //Assert
            Assert.AreEqual(target, result.ToString());
        }
예제 #28
0
        public void DukaatMaalDecimalTest()
        {
            //Arrange
            Geld geld = new Geld(Valuta.Dukaat, 20.00M);

            decimal NieuwBedrag = 20.00M * 10M;

            string NieuwBedragString = string.Format("{0:N2}", NieuwBedrag);
            string target            = Valuta.Dukaat.ToString() + " " + NieuwBedragString;

            //Act
            Geld result = geld * 10M;

            //Assert
            Assert.AreEqual(NieuwBedragString, result.ToString().Split(' ')[1]);
        }
예제 #29
0
        public void DukaatMaalDukaatTest()
        {
            //Arrange
            Geld geld  = new Geld(Valuta.Dukaat, 30.00M);
            Geld money = new Geld(Valuta.Dukaat, 30.00M);

            decimal NieuwBedrag       = 30.00M * 30.00M;
            string  NieuwBedragString = string.Format("{0:N2}", NieuwBedrag);
            string  target            = Valuta.Dukaat.ToString() + " " + NieuwBedragString;

            //Act
            Geld result = geld * money;

            //Assert
            Assert.AreEqual(target, result.ToString());
        }
예제 #30
0
        public void FlroijnPlusGuldenTest()
        {
            //Arrange
            Geld geld  = new Geld(Valuta.Gulden, 30.00M);
            Geld money = new Geld(Valuta.Florijn, 30.00M);

            decimal NieuwBedrag       = 30.00M + 30M;
            string  NieuwBedragString = string.Format("{0:N2}", NieuwBedrag);
            string  target            = Valuta.Gulden.ToString() + " " + NieuwBedragString;

            //Act
            Geld result = geld + money;

            //Assert
            Assert.AreEqual(target, result.ToString());
        }