Beispiel #1
0
        public void TestNegativVærdi()
        {
            //Alm bil
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => Afgift.BilAfgift(-1000));

            //elbil
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => Afgift.ElbilAfgift(-1000));
        }
Beispiel #2
0
        public void ElBilAfgiftHøj()
        {
            Afgift afgift1 = new Afgift();

            decimal pris = afgift1.ElbilAfgift(300000);

            Assert.AreEqual(64000, pris);
        }
Beispiel #3
0
        public void ElBilAfgiftLav()
        {
            Afgift afgift1 = new Afgift();

            decimal pris = afgift1.ElbilAfgift(200000);

            Assert.AreEqual(34000, pris);
        }
Beispiel #4
0
        public void TestDyrBil()
        {
            int pris = 350000;

            //beregning af afgift for normal bil
            Assert.AreEqual(395000, Afgift.BilAfgift(pris));

            //Beregning af afgift for elbil
            Assert.AreEqual(79000, Afgift.ElbilAfgift(pris));
        }
Beispiel #5
0
        public void TestGrænseværdi()
        {
            int pris = 200000;

            //Beregning af afgift for normal bil
            Assert.AreEqual(170000, Afgift.BilAfgift(pris));

            //Beregning af afgift for elbil
            Assert.AreEqual(34000, Afgift.ElbilAfgift(pris));
        }
Beispiel #6
0
        public void TestBilligBil()
        {
            int pris = 25000;

            //Beregning af afgift for normal bil
            Assert.AreEqual(21250, Afgift.BilAfgift(pris));

            //Beregning for elbil
            Assert.AreEqual(4250, Afgift.ElbilAfgift(pris));
        }
        public void ElBilAfgiftUnder0() // her prøver jeg at give bilafgiften en negativ tal og så skal den fortælle "prisen må ikke være under 0";
        {
            //arrange
            int pris = -1000; //giver prisen en negativ tal og ser om det virker med det message jeg har givet.

            //act
            try
            {
                Afgift.ElbilAfgift(pris);
            }
            catch (ArgumentException e)
            {
                //Assert
                Assert.AreEqual("Prisen må ikke være under 0", e.Message); //skal uskrive det message, hvis prisen er negativ.
            }
        }
Beispiel #8
0
        internal void DoIt()
        {
            Stream       ns = connectionSocket.GetStream();
            StreamReader sr = new StreamReader(ns);
            StreamWriter sw = new StreamWriter(ns);

            sw.AutoFlush = true; // enable automatic flushing


            string greeting   = "Ønsker de at beregne bilafgift? (y/n)";
            string selectCar  = "For almindelig bil tast 1, for elbil tast 2";
            string writePrice = "Indtast pris";
            string selectedCarType;
            string message = "0";

            sw.WriteLine(greeting);

            while (message != "STOP" && message != null && message != "")
            {
                try
                {
                    GreetClient();
                }
                catch (Exception e)
                {
                    CloseConnection();
                    break;
                }

                Console.WriteLine();
            }

            void GreetClient()
            {
                Console.WriteLine(greeting);
                message = sr.ReadLine();
                Console.WriteLine("Client: " + message);

                if (message == "y")
                {
                    sw.WriteLine(selectCar);
                    SelectCarType();
                }
                else if (message == "n")
                {
                    sw.WriteLine("For at terminere forbindelse tast: STOP." + greeting);
                    try
                    {
                        GreetClient();
                    }
                    catch (Exception e)
                    {
                        CloseConnection();
                    }
                }
                else
                {
                    sw.WriteLine("Fejl." + greeting);
                    Console.WriteLine("Fejl");
                    GreetClient();
                }
            }

            void SelectCarType()
            {
                message         = sr.ReadLine();
                selectedCarType = message;

                if (selectedCarType == "1" || selectedCarType == "2")
                {
                    Console.WriteLine("Client: " + selectedCarType);

                    switch (selectedCarType)
                    {
                    case "1":
                        sw.WriteLine("Valgt almindelig bil. " + writePrice);
                        Console.WriteLine("Valgt almindelig bil. " + writePrice);
                        break;

                    case "2":
                        sw.WriteLine("Valgt elbil. " + writePrice);
                        Console.WriteLine("Valgt elbil. " + writePrice);
                        break;
                    }

                    CalculateLevy();
                }
                else
                {
                    sw.WriteLine("Fejl. " + selectCar);
                    Console.WriteLine("Fejl fra klient.");
                    SelectCarType();
                }
            }

            void CalculateLevy()
            {
                string priceString = sr.ReadLine();

                Console.WriteLine("Client: " + priceString);
                int price = Convert.ToInt32(priceString);

                int levy = 0;

                if (price > 0)
                {
                    switch (selectedCarType)
                    {
                    case "1":
                        levy = Afgift.BilAfgift(price);
                        break;

                    case "2":
                        levy = Afgift.ElbilAfgift(price);
                        break;
                    }

                    int    totalPrice = price + levy;
                    string result     = $"Beregnet afgift for en importeret bil til {price} DKK er: {levy}DKK. Totalpris: {totalPrice} DKK";
                    sw.WriteLine(result + " " + greeting);
                    Console.WriteLine(result);
                    Console.WriteLine(" Restarting procedure...");
                }
                else
                {
                    sw.WriteLine("Ugyldig pris. " + writePrice);
                    Console.WriteLine("Ugyldig pris.");
                    CalculateLevy();
                }
            }

            void CloseConnection()
            {
                Console.WriteLine("Klienten har afbrudt forbindelsen.");
                ns.Close();
                connectionSocket.Close();
            }
        }