public void TestOnNormalAttack() { // Create Mock var random = new Mock <IRandom>(); random.Setup(r => r.Random()).Returns(1); var actorRepository = new Mock <IActorRepository>(); var skillRepository = new Mock <ISkillRepository>(); var attackerId = new ActorId("Attacker"); var attacker = CreateActor(attackerId); var victimId = new ActorId("Victim"); var victim = CreateActor(victimId); var skill = CreateSkill(); actorRepository.Setup(repo => repo.Find(attackerId)) .Returns(attacker); actorRepository.Setup(repo => repo.Find(victimId)) .Returns(victim); skillRepository.Setup(repo => repo.Find(It.IsAny <SkillId>())) .Returns(skill); // Create Builders var innerBuilder = new AttackPowerBuilderInner(); var attackPowerBuilder = new AttackPowerBuilder(innerBuilder); var defenseBuilder = new DefenseRateBuilder(); // Create Attack Calculation var damageRate = new Rate(0.06f); var attackCalculation = new AttackCalculation( actorRepository.Object, skillRepository.Object, attackPowerBuilder, defenseBuilder, random.Object, damageRate); var damage = attackCalculation.ExecuteCalculation( attackerId, victimId, new SkillId("Dummy")); // Check Damage var damageListener = new Mock <IDamageListener>(); damageListener.Setup(l => l.ListenDamage(It.IsAny <int>())) .Callback <int>(val => Assert.AreEqual(300, val)); damage.NotifyDamage(damageListener.Object); }
public void Build() { var defenseRateBuilder = new DefenseRateBuilder(); defenseRateBuilder.Build(); }