public void Should_Calculate_Previous_Resistance_Amount_When_Scenario_Is_Not_Simple()
        {
            //TODO: Refine/base expectations dynamically not statically

            //ARRANGE
            var sut = new ResistanceBandService(_repo.Object);

            //ACT
            var result = sut.CalculatePreviousAvailableResistanceAmount(35, 5, 10, false);

            //ASSERT
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(26, result.Sum(band => band.MaxResistanceAmount));
            Assert.IsTrue(result.Count(band => band.Color == "Purple") == 1);
        }
        public void Should_Calculate_Previous_Resistance_Amount_When_Band_Resistances_Are_Doubled()
        {
            //TODO: Refine/base expectations dynamically not statically

            //ARRANGE
            var sut = new ResistanceBandService(_repo.Object);

            //ACT
            var result = sut.CalculatePreviousAvailableResistanceAmount(120, 20, 25, true);

            //ASSERT
            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(96, result.Sum(band => band.MaxResistanceAmount) * 2);
            Assert.IsTrue(
                result.Count(band => band.Color == "Onyx") == 1 &&
                result.Count(band => band.Color == "Green") == 1 &&
                result.Count(band => band.Color == "Yellow") == 1);
        }
        public void Should_Calculate_Previous_Resistance_Amount_When_Scenario_Is_Complex()
        {
            //TODO: Refine/base expectations dynamically not statically

            //ARRANGE
            var sut = new ResistanceBandService(_repo.Object);

            //ACT
            var result = sut.CalculatePreviousAvailableResistanceAmount(80, 20, 25, false);

            //ASSERT
            Assert.AreEqual(4, result.Count);
            Assert.AreEqual(56, result.Sum(band => band.MaxResistanceAmount));
            Assert.IsTrue(
                result.Count(band => band.Color == "Onyx") == 1 &&
                result.Count(band => band.Color == "Yellow") == 1 &&
                result.Count(band => band.Color == "Green") == 1 &&
                result.Count(band => band.Color == "Red") == 1);
        }