Esempio n. 1
0
        public static void Main(string[] args)
        {
            IDog poodle = dogs.GetDog("small");

            poodle.Speak();

            IDog rottweiler = dogs.GetDog("big");

            rottweiler.Speak();

            IDog husky = dogs.GetDog("working");

            husky.Speak();

            IDog doggo = dogs.GetDog("cute fluffy doggo");

            try {
                doggo.Speak();
            } catch (NullReferenceException) {
                Console.WriteLine("There is no dog there! *BREATHING INTENSIFIES*");
            }

            Library library  = new Library("Tartu");
            Book    potter   = new Book("Harry Potter and the Order of the Phoenix");
            Book    bullerby = new Book("Bullerby lapsed", "Astrid Lindgren");

            library.AddBook(potter);
            library.AddBook(bullerby);

            library.BorrowBook("Potter");
        }
 public HomeController(IEmployeeRepository employeeRepository, IDog doodle, ILogger <HomeController> logger, IMediatorService mediatorService)
 {
     _mediatorService    = mediatorService;
     _employeeRepository = employeeRepository;
     _doodle             = doodle;
     _logger             = logger;
 }
Esempio n. 3
0
        static void Run()
        {
            Console.WriteLine("***Abstract Factory Pattern Demo***\n");

            //Making a wild dog through WildAnimalFactory
            IAnimalFactory wildAnimalFactory = new WildAnimalFactory();
            IDog           wildDog           = wildAnimalFactory.GetDog();

            wildDog.Speak();
            wildDog.Action();

            //Making a wild tiger through WildAnimalFactory
            ITiger wildTiger = wildAnimalFactory.GetTiger();

            wildTiger.Speak();
            wildTiger.Action();

            Console.WriteLine("******************");

            //Making a pet dog through PetAnimalFactory
            IAnimalFactory petAnimalFactory = new PetAnimalFactory();
            IDog           petDog           = petAnimalFactory.GetDog();

            petDog.Speak();
            petDog.Action();

            //Making a pet tiger through PetAnimalFactory
            ITiger petTiger = petAnimalFactory.GetTiger();

            petTiger.Speak();
            petTiger.Action();

            Console.ReadLine();
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            Console.WriteLine("***Abstract Factory Pattern Demo***\n");

            IAnimalFactory wildAnimalFactory = new WildAnimalFactory();
            IDog           wildDog           = wildAnimalFactory.GetDog();

            wildDog.Speak();
            wildDog.Action();
            ITiger wildTiger = wildAnimalFactory.GetTiger();

            wildTiger.Speak();
            wildTiger.Action();

            Console.WriteLine("**********");

            IAnimalFactory petAnimalFactory = new PetAnimalFactory();
            IDog           petDog           = petAnimalFactory.GetDog();

            petDog.Speak();
            petDog.Action();
            ITiger petTiger = petAnimalFactory.GetTiger();

            petTiger.Speak();
            petTiger.Action();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            var col = new Collie {
                Name = "Lassie", Color = "Light Brown", BarkSound = "Woof!"
            };

            col.Bark();

            var box = new Boxer {
                Name = "Rocky", Color = "Black", BarkSound = "Bark!"
            };

            box.Bark();

            var chi = new Chihuahua {
                Name = "Killer", Color = "White", BarkSound = "Yip yip!"
            };

            chi.Bark();

            IDog [] dogs = new IDog [10];
            dogs[0] = col;
            dogs[1] = box;
            dogs[3] = chi;

            foreach (var dog in dogs)
            {
                if (dog == null)
                {
                    continue;
                }
                Console.WriteLine($"A dog named {dog.Name} is {dog.Color}");
                dog.Bark();
            }
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Pet    thisPet;
            Dog    dog  = new Dog();
            Cat    cat  = new Cat();
            IDog   iDog = new IDog();
            ICat   iCat = new ICat();
            Pets   pets = new Pets();
            Random rand = new Random();

            for (int x = 0; x > 51; x++)
            {
                if (rand.Next(1, 11) == 1)
                {
                    // 50% chance of adding a dog
                    if (rand.Next(0, 2) == 0)
                    {
                        dog.Add(dog);
                    }
                    else
                    {
                        // else add a cat
                        cat.Add(cat);
                    }
                }
                else
                {
                    thisPet = pets.petList;
                }
            }
        }
        public void DogFactoryNullTest()
        {
            DogFactory dogFactory = new DogFactory();

            IDog d = dogFactory.GetDog(Dogs.none);

            Assert.IsNull(d);
        }
Esempio n. 8
0
        public WalkDogOrder(IDog dog, string location, DateTime startTime, double payment)
        {
            Dog = dog;

            Location  = location;
            StartTime = startTime;
            Payment   = payment;
        }
Esempio n. 9
0
        public void CreateDog_Test()
        {
            IDog newDog = _racetrack.CreateDog(DogBreedEnum.Greyhound);
            var  result = (newDog).GetType();

            newDog.Should().BeOfType(typeof(Dog));
            newDog.Should().NotBeNull();
        }
Esempio n. 10
0
 static void GiveTreat(IDog dog)
 {
     if (dog is GermanShepherd)
     {
         ((GermanShepherd)dog).SniffForDrugs();
     }
     dog.Bark();
 }
        public void DogFactoryWolfhoundTest()
        {
            DogFactory dogFactory = new DogFactory();

            IDog d = dogFactory.GetDog(Dogs.Wolfhound);

            Assert.IsInstanceOfType(d, typeof(Wolfhound));
        }
        public void DogFactoryPoodleTest()
        {
            DogFactory dogFactory = new DogFactory();

            IDog d = dogFactory.GetDog(Dogs.Poodle);

            Assert.IsInstanceOfType(d, typeof(Poodle));
        }
        public void DogFactoryCollieTest()
        {
            DogFactory dogFactory = new DogFactory();

            IDog d = dogFactory.GetDog(Dogs.Collie);

            Assert.IsInstanceOfType(d, typeof(Collie));
        }
Esempio n. 14
0
        public void ShouldBeGetAnObjectSettedOnGetByIdMethod()
        {
            // TODO: It's not still works. I need store the real object when a different property than Identifiers is called.
            IDog dog = ObjectIdentifier.Get <IDog>(1);

            Assert.NotNull(dog);
            Assert.IsInstanceOf <IDog>(dog);
            Assert.AreEqual("Marley", dog.Name);
        }
 public ReservationsController(
     IFacility facilityService,
     IDog dogService,
     IReservation reservationService)
 {
     _facilityService    = facilityService;
     _dogService         = dogService;
     _reservationService = reservationService;
 }
Esempio n. 16
0
 public SomeThingController(
     ILogger <SomeThingController> logger,
     IHttpContextAccessor httpContextAccessor,
     IDefaultHttpClientFactory defaultHttpClientFactory,
     IDog dog)
 {
     _logger = logger;
     _httpContextAccessor      = httpContextAccessor;
     _defaultHttpClientFactory = defaultHttpClientFactory;
     _dog = dog;
 }
Esempio n. 17
0
        static void Main(string[] args)
        {
            var dogs = new IDog[]
            {
                new Chihuahua(),
                new Boxer(),
                new Collie()
            };

            foreach (var dog in dogs)
            {
                dog.Bark();
            }
        }
Esempio n. 18
0
        static void Main(string[] args)
        {
            Program p1 = new Program();

            Console.WriteLine("The car speed is " + p1.CarSpeed(77, 28));
            Console.WriteLine("The car Motorcycle speed is " + p1.MotorcycleSpeed(55, 45));
            IDog i1 = p1;

            Console.WriteLine("A dog eats " + i1.Dogfood("biscuits ") + "and lives in a " + i1.Doghabitat("house."));
            IElephant i2 = p1;

            Console.WriteLine("An Elephant eats " + i2.Elephantfood("roots ") + "and lives in the " + i2.Elephanthabitat("jungle."));
            Console.ReadLine();
        }
Esempio n. 19
0
        static void Main()
        {
            Console.WriteLine("***Abstract Factory Pattern***\n");

            IAnimalFactory wildAnimalFactory = new WildAnimalFactory();
            IDog           wilDog            = wildAnimalFactory.GetDog();

            wilDog.Speak();
            wilDog.Action();

            ITiger wildTiger = wildAnimalFactory.GetTiger();

            wildTiger.Speak();
            wildTiger.Action();
        }
Esempio n. 20
0
        static void Main(string[] args)
        {
            var col = new Collie
            {
                Name      = "Lassie",
                Color     = "Light Brown",
                BarkSound = "Woof!"
            };

            // one of few times to put semi colon after curly brace
            col.Bark();

            var box = new Boxer
            {
                Name      = "Rocky",
                Color     = "Black",
                BarkSound = "Woof Woof!"
            };

            box.Bark();

            var chi = new Chihuahua
            {
                Name      = "Killer",
                Color     = "White",
                BarkSound = "Yip!"
            };

            chi.Bark();

            IDog[] dogs = new IDog[10];
            dogs[0] = col;
            dogs[1] = box;
            dogs[2] = chi;

            //if you use a foreach for a collection of things USE IT!, less code than a for loop

            foreach (var dog in dogs)
            {
                if (dog == null)
                {
                    continue;
                }
                Console.WriteLine($"Name is {dog.Name}, color is {dog.Color}.");
                //, barkSound is {dog.BarkSound}
                dog.Bark();
            }
        }
Esempio n. 21
0
        public void MethodResolving()
        {
            // Check if the method resolver works correctly
            IAnimal animal = null;
            ICat    cat    = null;
            IDog    dog    = null;


            // - Non-generic MethodInfo, ConstructorInfo
            {
                var ctor = GetCtor(() => new Internals());
                TestDeepEquality(ctor);

                var mAA = GetMethod(() => HandleAnimal(animal, animal));
                TestDeepEquality(mAA);

                var mCA = GetMethod(() => HandleAnimal(cat, animal));
                TestDeepEquality(mCA);

                var mAC = GetMethod(() => HandleAnimal(animal, cat));
                TestDeepEquality(mAC);

                var mCC = GetMethod(() => HandleAnimal(cat, cat));
                TestDeepEquality(mCC);
            }


            // - Simple closed generic
            {
                var mt = GetMethod(() => HandleAnimal(dog, dog));
                TestDeepEquality(mt);
            }

            // - Exception on open method
            {
                var open = GetMethod(() => HandleAnimal(dog, dog)).GetGenericMethodDefinition();
                try
                {
                    Clone(open);
                    throw new Exception("expected exception not thrown");
                }
                catch
                {
                }
            }
        }
Esempio n. 22
0
        public bool GetDogAtCursor(InputManager input, out IDog dogAtCursor)
        {
            dogAtCursor = null;

            Vector2     mousePos = new Vector2(input.MouseX, input.MouseY);
            List <IDog> dogs     = Items.ToList <IDog>();

            foreach (IDog dog in dogs)
            {
                if (dog.Contains(mousePos))
                {
                    dogAtCursor = dog;
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 23
0
        public bool GetDogAtCursor(InputManager input, out IDog dogAtCursor)
        {
            dogAtCursor = null;

            Vector2 mousePos = new Vector2(input.MouseSceneX, input.MouseSceneY);

            // We sort on Z index, to check the top dog first. Note that this is reversed from
            // when we draw them, since in that case we want to draw the thing on top last.
            Dogs.Sort((a, b) => b.ZIndex().CompareTo(a.ZIndex()));
            foreach (IDog dog in Dogs)
            {
                if (dog.Contains(mousePos))
                {
                    dogAtCursor = dog;
                    return(true);
                }
            }

            return(false);
        }
Esempio n. 24
0
        private IDog ProvidePropertiesToDog(IDog dog)
        {
            var allDogsNames = Enum.GetValues(typeof(DogNameEnum)).Cast <DogNameEnum>().ToList();

            if (allDogsNames.Count >= racingDogs.Count)
            {
                dog.Name = allDogsNames[racingDogs.Count];
            }
            else
            {
                return(null);
            }

            dog.GatePosition         = racingDogs.Count + 1;
            dog.DistanceCoveredByDog = 0;
            Random rand       = new Random();
            double speedKmsHr = rand.Next(40, 45);

            dog.SetMaxSpeedInKmsPer1Hour(speedKmsHr);
            return(dog);
        }
Esempio n. 25
0
        public DogController(IDog dog)
        {
            dogs ??= new List <Dog>()
            {
                new Dog(),
                new Dog()
                {
                    Name = "milo", Age = 2
                },
                new Dog()
                {
                    Name = "roover", Age = 3
                }
            };

            //_dog ??= dog; //same as below
            if (_dog == null)
            {
                _dog = dog; //injected dog
            }
        }
Esempio n. 26
0
 /// <summary>
 /// Adds the given element to the collection
 /// </summary>
 /// <param name="item">The item to add</param>
 public override void Add(IModelElement item)
 {
     if ((this._parent.Person == null))
     {
         IPerson personCasted = item.As <IPerson>();
         if ((personCasted != null))
         {
             this._parent.Person = personCasted;
             return;
         }
     }
     if ((this._parent.Dog == null))
     {
         IDog dogCasted = item.As <IDog>();
         if ((dogCasted != null))
         {
             this._parent.Dog = dogCasted;
             return;
         }
     }
 }
Esempio n. 27
0
        public Notification Execute(object obj = null)
        {
            List <Image> dogImages    = (List <Image>)obj;
            var          notification = new Notification();
            var          totalDogs    = _racetrack.GetAllDogsInRacetrack().Count;

            if (totalDogs < maxNumberOfDogsInRacetrack)
            {
                IDog newDog = _racetrack.CreateDog(DogBreedEnum.Greyhound);
                newDog.DogImage = dogImages[totalDogs];
                _racetrack.AddDogToRacetrack(newDog);
                notification.Code        = NotificationEnum.Ok;
                notification.Description = AllNotifications.NewDogToRacetrackOk(newDog.Name.ToString());
                notification.Items       = _racetrack.GetAllDogsInRacetrack().Count();
                return(notification);
            }

            notification.Code        = NotificationEnum.Warning;
            notification.Description = AllNotifications.NewDogToRacetrackWarning();
            notification.Items       = totalDogs;
            return(notification);
        }
Esempio n. 28
0
        static void Main(string[] args)
        {
            Console.WriteLine("***Abstract Factory Pattern Demo.***\n");

            //Making a wild dog and wild tiger through WildAnimalFactory
            IAnimalFactory animalFactory = FactoryProvider.GetAnimalFactory("wild");
            IDog           dog           = animalFactory.GetDog();
            ITiger         tiger         = animalFactory.GetTiger();

            dog.AboutMe();
            tiger.AboutMe();

            Console.WriteLine("******************");

            //Making a pet dog and pet tiger through PetAnimalFactory now.
            animalFactory = FactoryProvider.GetAnimalFactory("pet");
            dog           = animalFactory.GetDog();
            tiger         = animalFactory.GetTiger();
            dog.AboutMe();
            tiger.AboutMe();

            Console.ReadLine();
        }
Esempio n. 29
0
        static void Main(string[] args)
        {
            Console.WriteLine("Abstract Factory Pattern");

            //making a wild dog and a wild tiger with WildAnimalFactory
            IAnimalFactory animalFactory = FactoryProvider.GetAnimalFactory(AnimalType.Wild);
            IDog           dog           = animalFactory.GetDog();
            ITiger         tiger         = animalFactory.GetTiger();

            dog.AboutMe();
            tiger.AboutMe();

            Console.WriteLine("--------------------------------------------------------");

            //making a pet dog and a pet tiger with PetAnimalFactory
            animalFactory = FactoryProvider.GetAnimalFactory(AnimalType.Pet);
            dog           = animalFactory.GetDog();
            tiger         = animalFactory.GetTiger();
            dog.AboutMe();
            tiger.AboutMe();

            Console.Read();
        }
Esempio n. 30
0
 public static void Bark(IDog dog)
 {
     dog.Bark();
 }
Esempio n. 31
0
 public DogJob(IDog dog)
 {
     _dog = dog;
 }
Esempio n. 32
0
        public static Scene ParseSceneXml(string sceneXmlPath)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(sceneXmlPath);
            XmlNode                      baseNode            = doc.DocumentElement;
            XmlNodeList                  nodes               = baseNode.ChildNodes;
            int                          sceneWidth          = int.Parse(baseNode.Attributes["width"].Value);
            List <Tileset>               tilesets            = new List <Tileset>();
            List <IDrawable>             drawables           = new List <IDrawable>();
            List <IUpdateable>           updateables         = new List <IUpdateable>();
            List <IDog>                  dogs                = new List <IDog>();
            List <ILoadContent>          loadables           = new List <ILoadContent>();
            IDictionary <string, Portal> portals             = new Dictionary <string, Portal>();
            WalkingArea                  walkingArea         = null;
            Player                       player              = null;
            float                        characterScalingMin = 1.0F;

            XmlNode propertiesNode = GetChildNode(baseNode, "properties");
            string  songName       = GetPropertyValue(propertiesNode, "song");

            // Get tileset first to be used when loading dogs
            foreach (XmlNode node in nodes)
            {
                if (node.Name == "tileset")
                {
                    string tilesetXmlPathRelative = node.Attributes["source"].Value;
                    string tilesetXmlPath         = Path.Combine(Path.GetDirectoryName(sceneXmlPath),
                                                                 Path.GetDirectoryName(tilesetXmlPathRelative),
                                                                 Path.GetFileName(tilesetXmlPathRelative));
                    int     tilesetFirstGid = int.Parse(node.Attributes["firstgid"].Value);
                    Tileset tileset         = TilesetParser.ParseTilesetXml(tilesetXmlPath, tilesetFirstGid);
                    tilesets.Add(tileset);
                    loadables.Add(tileset);
                }
            }

            foreach (XmlNode node in nodes)
            {
                if (node.Name == "imagelayer")
                {
                    if (node.Attributes["name"]?.InnerText == "background")
                    {
                        Debug.Assert(node.ChildNodes.Count == 1, "More than one background layer in scene");
                        ImageLayer background = ParseImageNode(node.ChildNodes[0], sceneXmlPath, 0);
                        drawables.Add(background);
                        loadables.Add(background);
                    }
                    else if (node.Attributes["name"]?.InnerText == "foreground")
                    {
                        Debug.Assert(node.ChildNodes.Count == 1, "More than one foreground layer in scene");
                        ImageLayer foreground = ParseImageNode(node.ChildNodes[0], sceneXmlPath, 1000);
                        drawables.Add(foreground);
                        loadables.Add(foreground);
                    }
                }
                else if (node.Name == "objectgroup" && node.Attributes["name"]?.InnerText == "dogs")
                {
                    foreach (XmlNode dogNode in node.ChildNodes)
                    {
                        IDog dog = ParseDogNode(dogNode, tilesets, sceneWidth);
                        drawables.Add(dog);
                        dogs.Add(dog);
                    }
                }
                else if (node.Name == "objectgroup" && node.Attributes["name"]?.InnerText == "player")
                {
                    Debug.Assert(node.ChildNodes.Count == 1);
                    XmlNode playerNode = node.ChildNodes[0];
                    int     x          = (int)Math.Round(float.Parse(playerNode.Attributes["x"].Value));
                    int     y          = (int)Math.Round(float.Parse(playerNode.Attributes["y"].Value));
                    y -= (int)Math.Round(float.Parse(playerNode.Attributes["height"].Value)); // Compensate for Tiled's coordinate system
                    string name = playerNode.Attributes["name"]?.InnerText;
                    player = new Player(x, y, name ?? "Felixia");
                }
                else if (node.Name == "objectgroup" && node.Attributes["name"]?.InnerText == "walking")
                {
                    walkingArea = new WalkingArea(ParsePolygonXml(node.ChildNodes[0]), sceneWidth);
                    drawables.Add(walkingArea);
                }
                else if (node.Name == "objectgroup" && node.Attributes["name"]?.InnerText == "portals")
                {
                    foreach (XmlNode portalNode in node.ChildNodes)
                    {
                        Portal portal = ParsePortalNode(portalNode, sceneWidth);
                        portals[portal.Name] = portal;
                        drawables.Add(portal);
                    }
                }
                else if (node.Name == "properties")
                {
                    characterScalingMin = float.Parse(GetPropertyValueOrDefault(node, "scaling_min", "1.0"));
                }
                if (player == null)
                {
                    player = new Player("Felixia");
                }
            }
            return(new Scene(drawables,
                             updateables,
                             loadables,
                             dogs,
                             portals,
                             player,
                             walkingArea,
                             sceneWidth,
                             characterScalingMin,
                             songName));
        }