public void Test_DividedWeightsForForty_CanMeasure17()
        {
            var weight = 40;

            List<int> dividedWeights = GetDividedWeights(weight);

            var weighingWithStonesSolver = new WeighingWithStonesSolver();
            bool isMeasured = weighingWithStonesSolver.CanStonesMeasureThisWeight(17, dividedWeights);

            Assert.IsTrue(isMeasured);
        }
        public void Test_WronglyDividedWeightsFor40_CanMeasureAnyWeights()
        {
            List<int> dividedWeights = new List<int> {1, 3, 9, 29 };

            var weighingWithStonesSolver = new WeighingWithStonesSolver();

            bool isMeasurable = true;

             isMeasurable = weighingWithStonesSolver.CanStonesMeasureThisWeight(15, dividedWeights);
                Assert.IsFalse(isMeasurable);
        }
        public void Test_DividedWeightsFor40_CanMeasureAnyWeights()
        {
            var weight = 40;

            List<int> dividedWeights = GetDividedWeights(weight);
            var weighingWithStonesSolver = new WeighingWithStonesSolver();

            bool isMeasurable = true;
            for (int i = 0; i < weight; i++)
            {
                isMeasurable = weighingWithStonesSolver.CanStonesMeasureThisWeight(i, dividedWeights);
                Assert.IsTrue(isMeasurable);
            }
        }
 private List<int> GetDividedWeights(int initialWeight)
 {
     var weighingWithStonesSolver = new WeighingWithStonesSolver();
     List<int> dividedWeights = weighingWithStonesSolver.GetStones(initialWeight);
     return dividedWeights;
 }