예제 #1
0
        public void InteractTest()
        {
            // ReSharper disable once AccessToStaticMemberViaDerivedType
            EntityBase raccoon = MockGame.CreatureFactory.Animal(new Coord());

            raccoon.Name = "trash panda"; //for fun :)

            // Marking hair = new Marking()
            // {
            //     Name = "hair follicle",
            //     Description = "short",
            //     Adjective = "dirty",
            //     Color = "grey"
            // };
            // raccoon.AddUnlimitedMarkings(hair);
            Marking dirt = new Marking()
            {
                Name        = "dirt",
                Description = "course yet loamy",
                Adjective   = "moist",
                Color       = "grey & brown"
            };

            raccoon.AddLimitedMarkings(dirt, 100);

            Marking grease = new Marking()
            {
                Name        = "grease",
                Description = "a smudging",
                Adjective   = "sticky",
                Color       = "yellow"
            };

            raccoon.AddLimitedMarkings(grease, 100);


            // ReSharper disable once AccessToStaticMemberViaDerivedType
            EntityBase shinyThing = MockGame.ItemFactory.Generic(new Coord(), "shiny thing");

            //interact
            raccoon.InteractWith(shinyThing);
            //assert on markings
            Assert.AreEqual(1, shinyThing.MarkingsOn.Count);

            for (int i = 0; i < 100; i++)
            {
                raccoon.InteractWith(shinyThing);
            }

            Assert.AreEqual(101, shinyThing.MarkingsOn.Count);
            Assert.AreEqual(99, raccoon.MarkingsLeftBy.Count);
        }
예제 #2
0
        public void AddLimitedMarkingsTest()
        {
            Marking marking = new Marking()
            {
                Name        = "bruise",
                Color       = "light purple",
                Description = "just past the {bodyPart}",
                Adjective   = "round"
            };

            _base.AddLimitedMarkings(marking, 5);
            Assert.AreEqual(5, _base.MarkingsLeftBy.Count);
        }