예제 #1
0
        public void MobWasNotFound_NothingHappend_Copy()
        {
            var bot    = CreateBot();
            var result = bot.KillMob();

            Assert.That(result, Is.False);
            A.CallTo(() => _legs.MoveTo(_mobLocation)).MustNotHaveHappened();
            A.CallTo(() => _cellphone.ReportResult(A <Report> .Ignored)).MustNotHaveHappened();
            A.CallTo(() => _eyes.CheckMobStatus()).MustNotHaveHappened();
        }
예제 #2
0
        public bool KillMob()
        {
            var location = _eyes.CheckForMob();

            if (location == 0)
            {
                return(false);
            }

            _legs.MoveTo(location);

            var damageList = new List <int>();

            for (var i = 0; i < 3; i++)
            {
                damageList.Add(_weapon.Strike());
            }

            _cellphone.ReportDamage(damageList.ToArray());

            var mobStatus = _eyes.CheckMobStatus();

            _cellphone.ReportResult(new Report
            {
                IsSuccess = mobStatus
            });

            return(true);

            //_weapon.Ext(2);
            //WeaponExtensions.Ext(_weapon, 2);
        }
예제 #3
0
        public void SetUp()
        {
            _weapon               = A.Fake <IWeapon>();
            _legs                 = A.Fake <ILegs>();
            _eyes                 = A.Fake <IEyes>();
            _cellphone            = A.Fake <ICellphone>();
            _checkMobStatusResult = true;

            _mobLocation = 0;
            _reports     = new List <Report>();
            A.CallTo(() => _eyes.CheckForMob()).ReturnsLazily(() => _mobLocation);
            A.CallTo(() => _weapon.Strike()).Returns(1);
            A.CallTo(() => _eyes.CheckMobStatus()).ReturnsLazily(() => _checkMobStatusResult);
            A.CallTo(() => _cellphone.ReportResult(A <Report> .Ignored))
            .Invokes((Report report) =>
            {
                _reports.Add(report);
            });
        }