Exemplo n.º 1
0
 public void Create_JuniorWithInvalidValues_ArgumentException()
 {
     // arrange
     int[] data = ReadData();
     // act
     var res = new Junior(data[0], data[1]);
 }
Exemplo n.º 2
0
        static (List <FuncionarioPadrao>, List <CargoAcessoPermitido>) CriarFuncionarios()
        {
            List <FuncionarioPadrao>    funcionarios = new List <FuncionarioPadrao>();
            List <CargoAcessoPermitido> superiores   = new List <CargoAcessoPermitido>();

            try
            {
                var fun1 = new Estagiario("Rodrigo", 1);
                var fun2 = new Trainee("Sergio", 2);
                var fun3 = new Junior("Soely", 3);
                var fun4 = new Senior("Marina", 4);
                var fun5 = new Socio("José", 5);
                var fun6 = new Diretor("Rosa", 6);
                var fun7 = new ChefeDepartamento("Luke", 7);

                funcionarios.AddRange(new FuncionarioPadrao[] { fun1, fun2, fun3, fun4, fun5 });
                superiores.AddRange(new CargoAcessoPermitido[] { fun6, fun7 });

                foreach (var funcioanrio in funcionarios)
                {
                    funcioanrio.ImprimirInformacoesFuncionario();
                }

                foreach (var superior in superiores)
                {
                    superior.ImprimirInformacoesFuncionario();
                }
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e.Message);
            }

            return(funcionarios, superiores);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Wage ivanov = new Director();

            ivanov = new Overtime(ivanov);
            ivanov = new Premium(ivanov);
            Console.WriteLine(ivanov.info());

            Wage petrov = new Junior();

            petrov = new Late(petrov);
            petrov = new Late(petrov);
            petrov = new Late(petrov);
            Console.WriteLine(petrov.info());

            Wage novikov = new Middle();

            novikov = new Late(novikov);
            novikov = new Overtime(novikov);
            novikov = new Overtime(novikov);
            novikov = new Deal(novikov);
            Console.WriteLine(novikov.info());

            Wage andreev = new Middle();

            andreev = new Overtime(andreev);
            andreev = new Overtime(andreev);
            andreev = new Deal(andreev);
            andreev = new Deal(andreev);
            andreev = new Deal(andreev);
            andreev = new Deal(andreev);
            andreev = new Premium(andreev);
            Console.WriteLine(andreev.info());
        }
            static void Main (string[] args) {
                //For FreshMan
                FreshMan newFreshMan = new FreshMan ("John Doe");
                newFreshMan.Greet ();
                newFreshMan.Display ();

                //For Sophomore
                Sophomore newSophomore = new Sophomore ("John Smith");
                newSophomore.Greet ();
                newSophomore.Display ();

                //For Junior
                Junior newJunior = new Junior ("Harihar");
                newJunior.Greet ();
                newJunior.Display ();

                //For Senior
                Senior newSenior = new Senior ("Kale");
                newSenior.Greet ();
                newSenior.Display ();

                //For DoctoralStudent
                DoctoralStudent newDoctoralStudent = new DoctoralStudent ("Hari Ray");
                newDoctoralStudent.Greet ();
                newDoctoralStudent.Display ();

                //For MastersStudent
                MastersStudent newMastersStudent = new MastersStudent ("Ab De Villiers");
                newMastersStudent.Greet ();
                newMastersStudent.Display ();

                Console.ReadKey ();
            }
Exemplo n.º 5
0
        /// <summary>
        /// The problem of integer programming:
        /// Selection employees necessary to minimize the total cost
        /// for given parameters of the cash amount and fixed productivity.
        /// </summary>
        /// <param name="selector">Contains cash amount and productivity</param>
        /// <returns>Possible solutions for the composition of the team of employees</returns>
        public override List <Dictionary <FellowWorker, int> > Select(StaffSelector selector)
        {
            SolverContext context = SolverContext.GetContext();
            Model         model   = context.CreateModel();

            // init fellow workers
            Junior junior = selector.Staffs.Junior;
            Middle middle = selector.Staffs.Middle;
            Senior senior = selector.Staffs.Senior;
            Lead   lead   = selector.Staffs.Lead;

            // init decisions - counts of number of employees of different qualifications
            Decision juniorDecision = new Decision(Domain.IntegerNonnegative, junior.GetQualificationString());
            Decision middleDecision = new Decision(Domain.IntegerNonnegative, middle.GetQualificationString());
            Decision seniorDecision = new Decision(Domain.IntegerNonnegative, senior.GetQualificationString());
            Decision leadDecision   = new Decision(Domain.IntegerNonnegative, lead.GetQualificationString());

            model.AddDecisions(juniorDecision, middleDecision, seniorDecision, leadDecision);

            // constraint of fixed productivity
            model.AddConstraints("fixProductivity",
                                 junior.Productivity * juniorDecision +
                                 middle.Productivity * middleDecision +
                                 senior.Productivity * seniorDecision +
                                 lead.Productivity * leadDecision == selector.Productivity);

            // constraint of max cash amount
            model.AddConstraints("maxAmount",
                                 junior.Salary * juniorDecision +
                                 middle.Salary * middleDecision +
                                 senior.Salary * seniorDecision +
                                 lead.Salary * leadDecision <= selector.Amount);

            // criterion of optimization - total cost
            model.AddGoal("cost", GoalKind.Minimize,
                          junior.Salary * juniorDecision +
                          middle.Salary * middleDecision +
                          senior.Salary * seniorDecision +
                          lead.Salary * leadDecision);

            Solution solution = context.Solve(new ConstraintProgrammingDirective());

            // packing results
            List <Dictionary <FellowWorker, int> > solutionsList = new List <Dictionary <FellowWorker, int> >();

            while (solution.Quality != SolverQuality.Infeasible)
            {
                solutionsList.Add(PackSolutionInDictionary(new Decision[] {
                    juniorDecision,
                    middleDecision,
                    seniorDecision,
                    leadDecision
                }, selector.Staffs));

                solution.GetNext();
            }
            context.ClearModel();
            return(solutionsList);
        }
        // GET: Guardians/Create
        public ActionResult Create()
        {
            Junior        junior        = new Junior(db.Players.ToList());
            List <Player> juniorPlayers = junior.juniorTeam;

            ViewBag.playerID = new SelectList(juniorPlayers, "id", "FullName");
            return(View());
        }
Exemplo n.º 7
0
        public void Set_JuniorInvalidProductivity_ArgumentException()
        {
            // arrange
            Junior res = new Junior(10, 10);

            // act
            res.Salary = Convert.ToInt32(TestContext.DataRow[Productivity]);
        }
Exemplo n.º 8
0
        static void Main(string[] args)
        {
            Junior Jack  = new Junior(new Person("Jack", 45));
            Senior Chris = new Senior(new Person("Chris", 95));

            Jack.SetSenior(Chris);
            Jack.Handle();
        }
Exemplo n.º 9
0
 public Staffs(Junior junior, Middle middle, Senior senior, Lead lead)
 {
     this.Junior      = junior;
     this.Middle      = middle;
     this.Senior      = senior;
     this.Lead        = lead;
     this.staffsArray = new FellowWorker[] { junior, middle, senior, lead };
 }
        public static void RunExample()
        {
            Employee junior  = new Junior("Laurel", "Anderson", null);
            Employee manager = new Manager("Brian", "Hoscheit", null);

            junior.SetSuccessor(manager);

            junior.Approve(1001);
        }
Exemplo n.º 11
0
        public void Create_JuniorWithValidValues_IsJunior()
        {
            // arrange
            int[] data = ReadData();
            // act
            var res = new Junior(data[0], data[1]);

            // assert
            Assert.IsInstanceOfType(res, typeof(Junior));
        }
        public static void LaunchFifth()
        {
            var jun = new Junior("Ivan", 300);
            var mid = new Mid("Bob", 1000);
            var sen = new Senior("Stef", 1100);

            jun.Set_Successor(mid);
            mid.Set_Successor(sen);
            jun.Process_Invoices(1200);
        }
Exemplo n.º 13
0
        static void Main(string[] args)
        {
            Stajor        s  = new Stajor();
            Junior        j  = new Junior();
            SeniorPomidor sp = new SeniorPomidor();

            j.Work();
            //не знаю, как поместить в массив объекты разных типов(классов), поэтому сделаю через кортеж( если ты знаешь,
            //как првильно, напиши мне
            var tup = (s, j, sp);
        }
        public void TestJunior_ExceptionThrown()
        {
            Player a = new Player {
                id = 1, fName = "Joe", lName = "Rogan", team = "AAA"
            };

            List <Player> players = new List <Player>();

            players.Add(a);

            Junior junior = new Junior(players);
        }
Exemplo n.º 15
0
        public void CreateJuniorDeveloper_ShouldSucceed()
        {
            //Arrange
            Junior junior = new Junior(false, true, 2, false, false, "");
            //Act
            const string expectedJuniorName = "Holtman";

            junior.LastName = "Holtman";
            var actualJuniorName = junior.LastName;

            //Assert
            Assert.AreEqual(expectedJuniorName, actualJuniorName);
        }
 public ActionResult Junior()
 {
     try
     {
         Junior JuniorTeam = new Junior(db.Players.ToList());
         return(View(JuniorTeam.juniorTeam.ToList()));
     }
     catch (InvalidTeamException)
     {
         Console.Write("Team Name Not Valid");
     }
     return(View());
 }
        public ActionResult Create([Bind(Include = "fName,lName,address,phone,relation,playerID")] Guardian guardian)
        {
            guardian.player = db.Players.Find(guardian.playerID);
            if (ModelState.IsValid)
            {
                db.Guardians.Add(guardian);
                db.SaveChanges();
                return(RedirectToAction("../Players/Junior"));
            }

            Junior        junior        = new Junior(db.Players.ToList());
            List <Player> juniorPlayers = junior.juniorTeam;

            ViewBag.playerID = new SelectList(juniorPlayers, "id", "FullName");
            return(View(guardian));
        }
Exemplo n.º 18
0
        public void CreateJuniorDeveloperSkillset_ShouldSucceed()
        {
            //Arrange
            var junior = new Junior(false, true, 2, false, false, "")
            {
                Languages = new Dictionary <string, int>()
            };

            //Act
            junior.Languages.Add("CSharp", 3);
            junior.Languages.Add("Flux", 6);
            var expectedLanguages = new Dictionary <string, int> {
                { "CSharp", 3 }, { "Flux", 6 }
            };
            var actualLanguages = junior.Languages;

            //Assert
            CollectionAssert.AreEqual(expectedLanguages, actualLanguages);
        }
Exemplo n.º 19
0
        static void Main(string[] args)
        {
            Junior      junior      = new Junior();
            Practicante practicante = new Practicante();
            Senior      senior      = new Senior();

            junior.Nombre      = "Max";
            practicante.Nombre = "Yordy";
            senior.Nombre      = "Arthur";


            Console.WriteLine("El salario de " + junior.Nombre + " es: " + junior.ObtenerSalario());
            Console.WriteLine("El salario de " + practicante.Nombre + " es: " + practicante.ObtenerSalario());
            Console.WriteLine("El salario de " + senior.Nombre + " es: " + senior.ObtenerSalario());

            Console.WriteLine(junior.Nombre + " tiene un desuento de: " + junior.ObtenerDescuento());
            Console.WriteLine(senior.Nombre + " tiene un desuento de:  " + senior.ObtenerDescuento());
            Console.Read();
        }
        public void TestJuniorListCorrect()
        {
            Player a = new Player {
                id = 1, fName = "Joe", lName = "Rogan", team = "Junior"
            };
            Player b = new Player {
                id = 2, fName = "Sarah", lName = "Lewis", team = "Junior"
            };
            Player c = new Player {
                id = 3, fName = "fred", lName = "Flintstone", team = "Senior"
            };
            Player d = new Player {
                id = 4, fName = "Dylan", lName = "Mckaig", team = "Senior"
            };
            Player e = new Player {
                id = 5, fName = "Joseph", lName = "Stalin", team = "Senior"
            };
            Player f = new Player {
                id = 6, fName = "Karen", lName = "Robinson", team = "Junior"
            };
            Player g = new Player {
                id = 7, fName = "Harry", lName = "Corry", team = "Junior"
            };

            List <Player> players = new List <Player>();

            players.Add(a);
            players.Add(b);
            players.Add(c);
            players.Add(d);
            players.Add(e);
            players.Add(f);
            players.Add(g);

            Junior junior = new Junior(players);

            int expected = 4;

            int actual = junior.juniorTeam.Count();

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 21
0
        static void Main(string[] args)
        {
            Employee[] employees = new Employee[6];

            employees[0] = new Junior();
            employees[1] = new Junior();
            employees[2] = new Middle();
            employees[3] = new Director();
            employees[4] = new TeamLead();
            employees[5] = new BigBoss();


            foreach (var e in employees)
            {
                if (e is IManager mgr)
                {
                    mgr.Manage();
                }
            }
        }
Exemplo n.º 22
0
 public void Visit(Junior j)
 {
     System.Console.WriteLine("[junior-develop]");
 }
Exemplo n.º 23
0
 public void Visit(Junior j)
 {
     System.Console.WriteLine("[junior-test]");
 }
Exemplo n.º 24
0
    public Wave(Dictionary <string, System.Object> json)
    {
        canvas = GameObject.Find("Canvas").transform;
        System.Random rand = new System.Random();

        enemies = new List <GameObject> ();
        //note: ints in MiniJSON come out as longs, so must be cast twice
        levelID  = (int)(long)json ["levelID"];
        waveID   = (int)(long)json ["waveID"];
        maxTime  = (int)(long)json ["maxMilliseconds"];
        interval = (int)(long)json ["minimumInterval"];
        List <System.Object> enemyjson = (List <System.Object>)json ["enemies"];

        //step one: create a randomized list of spawn times
        int slots = maxTime / interval;
        //Debug.Log ("wave "+ waveID + " slots: " + slots);
        int occupants = enemyjson.Count;

        //create bool array to randomize
        List <bool> timeslots = new List <bool>();

        for (int i = 0; i < slots; i++)
        {
            if (i < occupants)
            {
                timeslots.Add(true);
            }
            else
            {
                timeslots.Add(false);
            }
        }
        //randomize this array (fisher-yates shuffle)
        for (int i = slots - 1; i > 0; i--)
        {
            int  j    = rand.Next(i + 1);
            bool temp = timeslots[i];
            timeslots[i] = timeslots[j];
            timeslots[j] = temp;
        }
        //make sure one enemy spawns immediately
        if (!timeslots[0])
        {
            for (int i = 1; i < slots; i++)
            {
                if (timeslots[i])
                {
                    timeslots[0] = true;
                    timeslots[i] = false;
                    break;
                }
            }
        }
        //create corresponding array of random-ish long bonuses to positions
        List <long> timeChaos = new List <long>();

        for (int i = 0; i < timeslots.Count; i++)
        {
            timeChaos.Add(0);
        }
        for (int i = 0; i < timeChaos.Count; i++)
        {
            if (timeslots[i])             //if an enemy should spawn in this timeframe,
            //get the previous bonus to make sure you're the min distance away
            {
                long previous = 0;
                if (i > 0)
                {
                    previous = timeChaos[i - 1];
                }
                //create random spawn time within the time slot allotted
                long chaos = rand.Next((int)previous, (int)interval);
                timeChaos[i] = chaos;
            }
        }
        //check to make sure nothing went wrong and timeslots and timechaos are both of length slots
        if (timeslots.Count != slots)
        {
            Debug.Log("timeslots is wrong length! slots is " + slots + " but timeslots length is " + timeslots.Count);
        }
        if (timeChaos.Count != slots)
        {
            Debug.Log("timechaos is wrong length! slots is " + slots + " but timechaos length is " + timeChaos.Count);
        }

        //finally, create final list of spawn times
        List <long> spawntimesInMillis = new List <long>();

        for (int i = 0; i < timeslots.Count; i++)
        {
            if (timeslots[i])
            {
                long spawntime = i * interval;
                spawntime += timeChaos[i];
                spawntimesInMillis.Add(spawntime);
            }
        }
        //for(int i = 0; i < spawntimesInMillis.Count; i++){
        //	Debug.Log ("wave "+ waveID + " spawntime "+i +": " + spawntimesInMillis[i]);
        //}
        //check to make sure nothing went wrong and spawntimes is of length occupants
        if (spawntimesInMillis.Count != enemyjson.Count)
        {
            Debug.Log("spawntimes and enemies don't match! (" + spawntimesInMillis.Count + "/" + enemyjson.Count + ")");
        }

        //shuffle the enemy order (fisher-yates)
        for (int i = enemyjson.Count - 1; i > 0; i--)
        {
            int           j    = rand.Next(i + 1);
            System.Object temp = enemyjson[i];
            enemyjson[i] = enemyjson[j];
            enemyjson[j] = temp;
        }

        for (int i = 0; i < enemyjson.Count; i++)
        {
            System.Object enemy = enemyjson[i];
            Dictionary <string, System.Object> enemydict = (Dictionary <string, System.Object>)enemy;
            //would load from bestiary using (string)enemydict["enemyID"], but no bestiary yet
            //long spawntimeInMillis = (long)enemydict["spawntime"];
            string filename = (string)enemydict["enemyID"];
            int    track    = (int)(long)enemydict["trackID"];
            int    trackpos = 0;
            if (enemydict.ContainsKey("trackpos"))
            {
                trackpos = (int)(long)enemydict["trackpos"];
            }
            //make enemy
            GameObject enemyspawn = GameObject.Instantiate(Resources.Load("Prefabs/MainCanvas/Enemy")) as GameObject;
            //Debug.Log("we're setting it to the spawn layer");
            //Debug.Log (Dial.spawnLayer == null);
            enemyspawn.transform.SetParent(Dial.spawnLayer, false);
            enemyspawn.SetActive(false);
            Enemy ec = enemyspawn.GetComponent <Enemy>();

            FileLoader fl = new FileLoader("JSONData" + Path.DirectorySeparatorChar + "Bestiary", filename);
            string     actualenemyjson = fl.Read();
            Dictionary <string, System.Object> actualenemydict = Json.Deserialize(actualenemyjson) as Dictionary <string, System.Object>;
            string enemytype = (string)actualenemydict["enemyType"];
            if (enemytype.Equals("Chainers"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Chainer c          = enemyobj.AddComponent <Chainer>() as Chainer;
                float   chaindelay = (float)(double)actualenemydict["delay"];
                c.delay = chaindelay;
                ec      = c;
            }
            else if (enemytype.Equals("TipOfTheSpear"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                TipOfTheSpear tots       = enemyobj.AddComponent <TipOfTheSpear>() as TipOfTheSpear;
                float         chaindelay = (float)(double)actualenemydict["delay"];
                tots.SetDelay(chaindelay);
                tots.leader = true;
                ec          = tots;
            }
            else if (enemytype.Equals("WallOfDoom"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                WallOfDoom wod = enemyobj.AddComponent <WallOfDoom>() as WallOfDoom;
                ec = wod;
            }
            else if (enemytype.Equals("TheDiversion"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Diversion d          = enemyobj.AddComponent <Diversion>() as Diversion;
                float     chaindelay = (float)(double)actualenemydict["delay"];
                d.SetDelay(chaindelay);
                ec = d;
            }
            else if (enemytype.Equals("MeatShield"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                MeatShield ms         = enemyobj.AddComponent <MeatShield>() as MeatShield;
                float      chaindelay = (float)(double)actualenemydict["delay"];
                ms.SetDelay(chaindelay);
                ms.leader = true;
                ec        = ms;
            }
            else if (enemytype.Equals("Splitter"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Splitter s = enemyobj.AddComponent <Splitter>() as Splitter;
                ec = s;
            }
            else if (enemytype.Equals("Blob"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Blob b = enemyobj.AddComponent <Blob>() as Blob;
                ec = b;
            }
            else if (enemytype.Equals("Megasplit"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Megasplit ms = enemyobj.AddComponent <Megasplit>() as Megasplit;
                ec = ms;
            }
            else if (enemytype.Equals("Melder"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Melder m = enemyobj.AddComponent <Melder>() as Melder;
                ec = m;
            }
            else if (enemytype.Equals("BigSplit"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                BigSplit bs = enemyobj.AddComponent <BigSplit>() as BigSplit;
                ec = bs;
            }
            else if (enemytype.Equals("Junior"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Junior j = enemyobj.AddComponent <Junior>() as Junior;
                ec = j;
            }
            else if (enemytype.Equals("Cheater"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Cheater ch = enemyobj.AddComponent <Cheater>() as Cheater;
                ec = ch;
            }
            else if (enemytype.Equals("Spite"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Spite s = enemyobj.AddComponent <Spite>() as Spite;
                ec = s;
            }
            else if (enemytype.Equals("Executor"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Executor s = enemyobj.AddComponent <Executor>() as Executor;
                ec = s;
            }
            else if (enemytype.Equals("Saboteur"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Saboteur s = enemyobj.AddComponent <Saboteur>() as Saboteur;
                ec = s;
            }
            else if (enemytype.Equals("Pusher"))
            {
                GameObject enemyobj = ec.gameObject;
                GameObject.Destroy(enemyobj.GetComponent <Enemy>());
                Pusher s = enemyobj.AddComponent <Pusher>() as Pusher;
                ec = s;
            }

            //give enemy a filename to load from

            ec.SetSrcFileName(filename);
            ec.SetTrackID(track);
            ec.SetTrackLane(trackpos);

            //calculate and set position
            float degrees = (track - 1) * 60 + 30;   //clockwise of y-axis
            degrees += 15 * trackpos;                //negative trackpos is left side, positive is right side, 0 is middle
            degrees  = ((360 - degrees) + 90) % 360; //convert to counterclockwise of x axis
            degrees *= Mathf.Deg2Rad;


            ((RectTransform)enemyspawn.transform).anchoredPosition = new Vector2(Dial.ENEMY_SPAWN_LENGTH * Mathf.Cos(degrees), Dial.ENEMY_SPAWN_LENGTH * Mathf.Sin(degrees));
            //set spawn time
            ec.SetSpawnTime(spawntimesInMillis[i]);

            enemies.Add(enemyspawn);
        }

        /*foreach (System.Object enemy in enemyjson) {
         *      //ec.ConfigureEnemy ();
         * }*/
    }
Exemplo n.º 25
0
        static void Main(string[] args)
        {
            // Singleton Test
            Console.WriteLine("Singleton Test");

            var singleton = Singleton.CreateSingletonObj(1);

            var singleton2 = Singleton.CreateSingletonObj(2); // не создается новый экземпляр

            // Simple Factory test
            Console.WriteLine(Environment.NewLine + "Simple Factory test");

            SimpleFactory.IWorkerFactory workerFactory = new SimpleFactory.WorkerFactory();
            var simpleFactoryHR = workerFactory.HireWorker(SimpleFactory.WorkerType.HR);

            simpleFactoryHR.GoToWork();

            // Factory test
            Console.WriteLine(Environment.NewLine + "Factory test");

            Factory.IWorkerFactory qAFactory = new Factory.QAFactory();
            Factory.IWorker        factoryQA = qAFactory.HireWorker();
            factoryQA.GoToWork();

            // Abstract factory test
            Console.WriteLine(Environment.NewLine + "Abstract Factory test");

            AbstractFactory.ICompanyFactory companyOneFactory     = new AbstractFactory.CompanyOneFactory();
            AbstractFactory.IWorker         comopanyOneProgrammer = companyOneFactory.GetWorker();
            comopanyOneProgrammer.GoHome();
            AbstractFactory.IVisitor companyOneVisitor = companyOneFactory.GetVisitor();
            companyOneVisitor.Visit();

            // Builder test
            Console.WriteLine(Environment.NewLine + "Builder test");

            Director      director       = new Director();
            IPhoneBuilder androidBuilder = new AndroidPhoneBuilder();

            director.Construct(androidBuilder);
            Console.WriteLine(androidBuilder.Phone.ToString());

            // Decorator test
            Console.WriteLine(Environment.NewLine + "Decorator test");

            Employee programmer = new Programmer();

            programmer = new Junior(programmer);
            Console.WriteLine(programmer);

            Employee qA = new QA();

            qA = new Middle(qA);
            Console.WriteLine(qA);

            // Adapter test
            Console.WriteLine(Environment.NewLine + "Adapter test");

            Company company = new Company();

            CompanyOneEmployee companyOneEmployee = new CompanyOneEmployee();

            company.TransferEmployee(companyOneEmployee);

            CompanyTwoEmployee companyTwoEmployee = new CompanyTwoEmployee();
            ITransferable      employeeAdapter    = new EmployeeAdapter(companyTwoEmployee);

            company.TransferEmployee(employeeAdapter);

            // Composite test
            Console.WriteLine(Environment.NewLine + "Composite test");

            Component headOfDepartment = new Member(Position.HeadOfDepartment, "Vasiliy Michailovich");
            Component firstAssistant   = new Member(Position.Assistant, "Yuri Gagarin");
            Component secondAssistant  = new Member(Position.Assistant, "German Popov");
            Component firstWorker      = new Member(Position.Worker, "Layka");
            Component secondWorker     = new Member(Position.Worker, "Muha");

            headOfDepartment.Add(firstAssistant);
            headOfDepartment.Add(secondAssistant);

            firstAssistant.Add(firstWorker);
            secondAssistant.Add(secondWorker);

            headOfDepartment.Print();

            // Bridge test
            Console.WriteLine(Environment.NewLine + "Bridge test");

            MessageManager messageManager = new SimpleMessageManager(new WebService());

            messageManager.Send("Hellow World!");

            messageManager.Sender = new ThirdPartySender();
            messageManager.Send("Hello World!");

            // Flyweight test
            Console.WriteLine(Environment.NewLine + "Flyweight test");

            Flyweight.ProgrammerFactory programmerFactory = new Flyweight.ProgrammerFactory();

            for (var i = 0; i < 5; i++)
            {
                var fJuniorProgrammer = programmerFactory.GetProgrammer("Junior");
                fJuniorProgrammer.Pay(1.1f);
            }

            Console.WriteLine($"Number of objects in programmerFactory is {programmerFactory.Programmers.Count}");

            // Strategy test
            Console.WriteLine(Environment.NewLine + "Strategy test");

            Strategy.IEmployee       strategyProgrammer = new Strategy.Programmer();
            Strategy.EmployeeActions employeeActions    = new Strategy.EmployeeActions(strategyProgrammer);
            employeeActions.EmployeeGoHome();

            employeeActions.Employee = new Strategy.QA();
            employeeActions.EmployeeGoHome();
        }
Exemplo n.º 26
0
        static void Main(string[] args)
        {
            Clases.Persona        persona1 = new Clases.Persona();
            Clases.PersonaNatural persona2 = new Clases.PersonaNatural();

            persona1.Nombre            = "Max";
            persona1.Apellido          = "Aguilar";
            persona1.FechaModificacion = DateTime.Now;
            persona1.Dni          = "123456789";
            persona1.Correo       = "*****@*****.**";
            persona1.CodigoPostal = 051003;


            Console.WriteLine("Nombre: \n" + persona1.Nombre);
            Console.WriteLine("Apellido:\n" + persona1.Apellido);
            Console.WriteLine("Fecha de Modificación: \n" + persona1.FechaModificacion);
            Console.WriteLine("Correo Electrónico: \n" + persona1.Correo);
            Console.WriteLine("Código Postal: \n" + persona1.CodigoPostal);
            Console.WriteLine("Dni: \n" + persona1.Dni);

            persona1.Caminar();
            Console.WriteLine();
            persona2.Natural();
            Console.WriteLine();

            Matematica multiplicar = new Matematica();
            Matematica suma        = new Sumar();
            Matematica restar      = new Restar();
            Matematica divicion    = new Divicion();

            int salida1 = multiplicar.Calcular(5, 4);
            int salida2 = suma.Calcular(5, 4);
            int salida3 = restar.Calcular(5, 4);
            int salida4 = divicion.Calcular(10, 2);

            IOperaciones  operacion = new Matematica();
            IEspecialidad curso     = new Matematica();
            IEspecialidad docente   = new Matematica();

            IDetalle detalle = new Clases.Modelo.Venta();

            Producto producto = new Producto();

            producto.Nombre  = "giughdigh";
            producto.Precio  = 8;
            producto.Cantiad = 5;

            Console.WriteLine("El producto fue guardado? =" + detalle.Guardar(producto));

            Console.WriteLine("La raíz de 9 es=" + operacion.Raiz(9));
            Console.WriteLine("El curso es= " + curso.Curso("Programación Orientada a Objetos"));
            Console.WriteLine("El nombre del Docente es= " + docente.Docente("Kevin"));

            Console.WriteLine(salida1);
            Console.WriteLine(salida2);
            Console.WriteLine(salida3);
            Console.WriteLine(salida4);
            Console.WriteLine("\n Potencia de 5=" + Matematica.Potencia(5));

            /*Clase Null Reference*/
            ClaseNullReference.AdminEquipo adm  = ClaseNullReference.Equipo.GetAdmin();
            ClaseNullReference.AdminEquipo adm2 = ClaseNullReference.Equipo.GetAdmin();
            ClaseNullReference.AdminEquipo amd3 = ClaseNullReference.Equipo.GetAdmin();

            adm.procesar();
            adm2.procesar();
            amd3.procesar();

            //FIN


            ClaseDAtaMapper.Mapper         mapeo = new ClaseDAtaMapper.Mapper();
            ClaseDAtaMapper.UsuarioDTO     usrD  = new ClaseDAtaMapper.UsuarioDTO();
            ClaseDAtaMapper.UsuarioNegocio usrN  = new ClaseDAtaMapper.UsuarioNegocio();
            //Hardcode, setear manualmente
            usrD.id        = 10;
            usrD.nombre    = "Max";
            usrD.direccion = "Street";
            usrD.correo    = "*****@*****.**";

            usrN = mapeo.Mapear(usrD);

            Console.WriteLine("El nombre asignado: " + usrN.nombre);

            //Principios de programación SOLID
            ProcesarDatos procesar = new SOLID.ProcesarDatos();

            procesar.Procesar();


            Practicante practicante = new Practicante();
            Junior      junior      = new Junior();
            Senior      senior      = new Senior();

            practicante.Nombre = "Max";
            junior.Nombre      = "";
            senior.Nombre      = "Max";

            try
            {
                Console.WriteLine("El nivel Practicante gana: " + practicante.ObtenerSalario());
                Console.WriteLine("El nivel Junior gana: " + junior.ObtenerSalario());
                Console.WriteLine("El nivel Senior gana: " + senior.ObtenerSalario());
                Validador.Validar(practicante);
                Validador.Validar(junior);
                Validador.Validar(senior);
            }
            catch (Exception ex)
            {
                ControlErrores.Imprimir(ex.Message);
            }



            Console.Read();
        }