public void ReturnsGroundOnlyAsBoolean()
        {
            var move = new Move {
                HitboxActive = "13-14|Set Weight, Ground Only"
            };
            var sut          = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());
            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("13-14"));
            Assert.That(actualResult.GroundOnly, Is.EqualTo(true));
        }
        public void ReturnsSuperArmor()
        {
            var move = new Move {
                HitboxActive = "80-83|Super Armor:21-74"
            };
            var sut = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());

            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("80-83"));
            Assert.That(actualResult.SuperArmor, Is.EqualTo("21-74"));
        }
        public void ReturnsFacingRestrict()
        {
            var move = new Move {
                HitboxActive = "35-38|Facing Restrict: 4"
            };
            var sut = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());

            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("35-38"));
            Assert.That(actualResult.FacingRestrict, Is.EqualTo("4"));
        }
        public void ReturnsJustAdvWhenOtherPropertiesArePresent()
        {
            var move = new Move {
                HitboxActive = "10-12|Adv:-9, SD:+1, Shieldstun Multiplier: 1.3"
            };

            var sut          = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());
            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("10-12"));
            Assert.That(actualResult.Adv, Is.EqualTo("-9"));
        }
        public void ReturnsRehitRateWhenPresent()
        {
            var move = new Move {
                HitboxActive = "6-52|Rehit Rate: 6"
            };
            var sut = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());

            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("6-52"));
            Assert.That(actualResult.RehitRate, Is.EqualTo("6"));
        }
        public void ReturnsHeadMultiplier()
        {
            var move = new Move {
                HitboxActive = "19-20|Head Multiplier: 1.15"
            };

            var sut = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());

            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("19-20"));
            Assert.That(actualResult.HeadMultiplier, Is.EqualTo("1.15"));
        }
        public void ReturnsIntangible()
        {
            var move = new Move {
                HitboxActive = "4-6|Intangible: 1-7"
            };

            var sut = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());

            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("4-6"));
            Assert.That(actualResult.Intangible, Is.EqualTo("1-7"));
        }
        public void ReturnsFramesAndAdvWhenPresent()
        {
            var move = new Move
            {
                HitboxActive = "5-6|Adv:-7"
            };

            var sut          = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());
            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.EqualTo("5-6"));
            Assert.That(actualResult.Adv, Is.EqualTo("-7"));
        }
        public void ReturnsEmptyFramesWhenNoFramesPresent()
        {
            var move = new Move
            {
                HitboxActive = string.Empty
            };

            var sut = new UltimateHitboxActiveResourceMapService(new TooltipPartParser());

            var actualResult = sut.MapFrom(move);

            Assert.That(actualResult.Frames, Is.Empty);
            Assert.That(actualResult.Adv, Is.Empty);
        }