Ejemplo n.º 1
0
        private void RunNumbers(decimal[] decimalArray, int scenarioId)
        {
            for (int i = 0; i < decimalArray.Length; i += 3)
            {
                var a = decimalArray[i];
                var b = decimalArray[i + 1];
                var c = decimalArray[i + 2];

                for (int j = 0; j < 3; j++)
                {
                    Console.WriteLine($"Inputs: scenarioId={scenarioId} a={a} b={b} c={c} j={j}");
                    var data = new DodoWareData();
                    data.Add("ScenarioId", scenarioId.ToString());
                    if (j != 0)
                    {
                        data.Add("A", a.ToString());
                    }
                    if (j != 1)
                    {
                        data.Add("B", b.ToString());
                    }
                    if (j != 2)
                    {
                        data.Add("C", c.ToString());
                    }
                    var dodoWareResult = DodoWareWeb.Singleton.Post(Resource, data);
                    var percentResult  = new PercentResult(dodoWareResult);
                    Console.WriteLine($"Results: a={percentResult.A} b={percentResult.B} c={percentResult.C}");
                    Assert.AreEqual(percentResult.A, a);
                    Assert.AreEqual(percentResult.B, b);
                    Assert.AreEqual(percentResult.C, c);
                }
            }
        }
Ejemplo n.º 2
0
        public void RatioNegativeTest_NoInput()
        {
            var modalErrorPattern = "No values were entered.  Please enter any three values.  The remaining value will be calculated.";
            var data             = new DodoWareData();
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 3
0
        public void DiscountNegativeTests_NoInput()
        {
            var modalErrorPattern = "The input 'Base Price' is required.";

            var data             = new DodoWareData();
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 4
0
        public void DiscountNegativeTests_BasePrice()
        {
            var modalErrorPattern = "The input 'Sales Tax Percent' is required.";

            var data = new DodoWareData
            {
                { "BasePrice", "123.45" }
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 5
0
        public void PercentNegativeTest_DivideByZero1A()
        {
            var modalErrorPattern = "The number A may not be zero in this scenario.";
            var data = new DodoWareData
            {
                { "ScenarioId", "1" },
                { "A", "0" },
                { "C", "7" }
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 6
0
 public void RatioNegativeTest_OneInvalidInput()
 {
     foreach (var id in IdArray)
     {
         var modalErrorPattern = $"The value 'X' for input '{id}' could not be converted to a decimal number.";
         var data = new DodoWareData
         {
             { id, "X" }
         };
         var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
         postNegativeTest.Go();
     }
 }
Ejemplo n.º 7
0
        public void RatioNegativeTest_DivideByZero1A()
        {
            var modalErrorPattern = "If D is unset, then A must not be zero.";
            var data = new DodoWareData
            {
                { "A", "0" },
                { "B", "33.44" },
                { "C", "44.44" }
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 8
0
        public void RatioNegativeTest_DivideByZero1D()
        {
            var modalErrorPattern = "The value of input 'D' may not be zero.";
            var data = new DodoWareData
            {
                { "A", "0.1102" },
                { "C", "44.44" },
                { "D", "0" },
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 9
0
        public void DiscountNegativeTests_BasePriceAndSalesTaxPercent()
        {
            var modalErrorPattern = "No numbers from Section B were entered.  Please enter any one number in Section B.  The other two will be calculated.";

            var data = new DodoWareData
            {
                { "BasePrice", "50" },
                { "SalesTaxPercent", "4" }
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 10
0
        public void FractionNegativeTest_NoInput()
        {
            var modalErrorPattern = "The first entry must have a whole number, a fraction, or both.";

            foreach (var operation in OperationArray)
            {
                var data = new DodoWareData
                {
                    { "Operation", operation }
                };
                var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                postNegativeTest.Go();
            }
        }
Ejemplo n.º 11
0
        public void RatioNegativeTest_FourValidInputs()
        {
            var modalErrorPattern = "All four values were entered.  Please enter any three values.  The remaining value will be calculated.";
            var data = new DodoWareData
            {
                { "A", "101.101" },
                { "B", "202.202" },
                { "C", "303.303" },
                { "D", "404.404" }
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 12
0
        public void RatioNegativeTest_OneValidInput()
        {
            var modalErrorPattern = "Only one value was entered.  Please enter any three values.  The remaining value will be calculated.";

            foreach (var id in IdArray)
            {
                Console.WriteLine($"id={id}");
                var data = new DodoWareData
                {
                    { id, "2" }
                };
                var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                postNegativeTest.Go();
            }
        }
Ejemplo n.º 13
0
        public void PercentNegativeTest_NoInput()
        {
            var modalErrorPattern = "No values were entered.  Please enter any two values.  The remaining value will be calculated.";

            foreach (var scenario in ScenarioArray)
            {
                Console.WriteLine($"scenario={scenario}");
                var data = new DodoWareData
                {
                    { "ScenarioId", scenario }
                };
                var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                postNegativeTest.Go();
            }
        }
Ejemplo n.º 14
0
        public void DiscountNegativeTests_TwoFromSectionB()
        {
            var modalErrorPattern = "Two numbers from Section B were entered.  Please enter any one number in Section B.  The other two will be calculated.";

            var data = new DodoWareData
            {
                { "BasePrice", "0.75" },
                { "SalesTaxPercent", "12.2" },
                { "DiscountPercent", "30" },
                { "FinalPrice", "1.00" }
            };
            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 15
0
        public void DiscountNegativeTests_NonNumericBasePrice()
        {
            var modalErrorPattern = "The value 'ASDF' for input 'Base Price' could not be converted to a decimal number.";

            var data = new DodoWareData
            {
                { "BasePrice", "ASDF" },
                { "SalesTaxPercent", "5" },
                { "DiscountedPrice", "90" },
                { "FinalPrice", "94.5" }
            };

            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 16
0
        public void DiscountNegativeTests_NonNumericDiscountPercent()
        {
            var modalErrorPattern = "The value 'XXX' for input 'Discount Percent' could not be converted to a decimal number.";

            var data = new DodoWareData
            {
                { "BasePrice", "100" },
                { "SalesTaxPercent", "5" },
                { "DiscountPercent", "XXX" },
                { "DiscountedPrice", "90" },
            };

            var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);

            postNegativeTest.Go();
        }
Ejemplo n.º 17
0
        public void RatioNegativeTest_TwoValidInputs()
        {
            var modalErrorPattern = "Only two values were entered.  Please enter any three values.  The remaining value will be calculated.";

            for (var i = 0; i < 4; i++)
            {
                for (var j = i + 1; j < 4; j++)
                {
                    var data = new DodoWareData
                    {
                        { IdArray[i], "77" },
                        { IdArray[j], "5" }
                    };
                    var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                    postNegativeTest.Go();
                }
            }
        }
Ejemplo n.º 18
0
 public void PercentNegativeTest_OneInvalidInput()
 {
     foreach (var scenario in ScenarioArray)
     {
         foreach (var id in IdArray)
         {
             var modalErrorPattern = $"The value 'X' for input '{id}' could not be converted to a decimal number.";
             Console.WriteLine($"scenario={scenario} id={id}");
             var data = new DodoWareData
             {
                 { "ScenarioId", scenario },
                 { id, "X" }
             };
             var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
             postNegativeTest.Go();
         }
     }
 }
Ejemplo n.º 19
0
        public void PercentNegativeTest_ThreeValidInputs()
        {
            var modalErrorPattern = "All three values were entered.  Please enter any two values.  The remaining value will be calculated.";

            foreach (var scenario in ScenarioArray)
            {
                Console.WriteLine($"scenario={scenario}");
                var data = new DodoWareData
                {
                    { "ScenarioId", scenario },
                    { "A", "11.11" },
                    { "B", "22.22" },
                    { "C", "33.33" }
                };
                var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                postNegativeTest.Go();
            }
        }
Ejemplo n.º 20
0
        public void PercentNegativeTest_OneValidInput()
        {
            var modalErrorPattern = "Only one value was entered.  Please enter any two values.  The remaining value will be calculated.";

            foreach (var scenario in ScenarioArray)
            {
                foreach (var id in IdArray)
                {
                    Console.WriteLine($"scenario={scenario} id={id}");
                    var data = new DodoWareData
                    {
                        { "ScenarioId", scenario },
                        { id, "111.111" }
                    };
                    var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                    postNegativeTest.Go();
                }
            }
        }
Ejemplo n.º 21
0
        private void RunNumbers(decimal[] decimalArray)
        {
            for (int i = 0; i < decimalArray.Length; i += 4)
            {
                var a = decimalArray[i];
                var b = decimalArray[i + 1];
                var c = decimalArray[i + 2];
                var d = decimalArray[i + 3];

                for (int j = 0; j < 4; j++)
                {
                    Console.WriteLine($"Inputs: a={a} b={b} c={c} d={d} j={j}");
                    var data = new DodoWareData();
                    if (j != 0)
                    {
                        data.Add("A", a.ToString());
                    }
                    if (j != 1)
                    {
                        data.Add("B", b.ToString());
                    }
                    if (j != 2)
                    {
                        data.Add("C", c.ToString());
                    }
                    if (j != 3)
                    {
                        data.Add("D", d.ToString());
                    }
                    var dodoWareResult = DodoWareWeb.Singleton.Post(Resource, data);
                    var ratioResult    = new RatioResult(dodoWareResult);
                    Console.WriteLine($"Results: a={ratioResult.A} b={ratioResult.B} c={ratioResult.C} d={ratioResult.D}");
                    Assert.IsTrue(Math.Abs(ratioResult.A - a) < 0.000001M);
                    Assert.IsTrue(Math.Abs(ratioResult.B - b) < 0.000001M);
                    Assert.IsTrue(Math.Abs(ratioResult.C - c) < 0.000001M);
                    Assert.IsTrue(Math.Abs(ratioResult.D - d) < 0.000001M);
                }
            }
        }
Ejemplo n.º 22
0
        private void RunNumbers(decimal[] decimalArray, int scenarioId, bool exact)
        {
            for (int i = 0; i < decimalArray.Length; i += 5)
            {
                var basePrice       = decimalArray[i];
                var salesTaxPercent = decimalArray[i + 1];
                var discountPercent = decimalArray[i + 2];
                var discountedPrice = decimalArray[i + 3];
                var finalPrice      = decimalArray[i + 4];

                for (int j = 0; j < 3; j++)
                {
                    var data = new DodoWareData();
                    data["BasePrice"]       = basePrice.ToString();
                    data["SalesTaxPercent"] = salesTaxPercent.ToString();
                    if (j == 0)
                    {
                        data["DiscountPercent"] = discountPercent.ToString();
                    }
                    if (j == 1)
                    {
                        data["DiscountedPrice"] = discountedPrice.ToString();
                    }
                    if (j == 2)
                    {
                        data["FinalPrice"] = finalPrice.ToString();
                    }
                    var dodoWareResult = DodoWareWeb.Singleton.Post(Resource, data);
                    var discountResult = new DiscountResult(dodoWareResult);

                    CheckResults(basePrice, discountResult.BasePrice, exact);
                    CheckResults(salesTaxPercent, discountResult.SalesTaxPercent, exact);
                    CheckResults(discountPercent, discountResult.DiscountPercent, exact);
                    CheckResults(discountedPrice, discountResult.DiscountedPrice, exact);
                    CheckResults(basePrice - discountedPrice, discountResult.DiscountAmount, exact);
                    CheckResults(finalPrice - discountedPrice, discountResult.SalesTaxAmount, exact);
                }
            }
        }
Ejemplo n.º 23
0
        public void FractionNegativeTest_NonIntegerValues()
        {
            var modalErrorPattern = "The value '1.1' for input '.*' could not be converted to a whole number.";

            foreach (var operation in OperationArray)
            {
                for (var i = 0; i < 6; i++)
                {
                    var data = new DodoWareData
                    {
                        { "Operation", operation },
                        { "WholeNumber1", (i == 0 ? "1.1" : "1") },
                        { "Numerator1", (i == 1 ? "1.1" : "1") },
                        { "Denominator1", (i == 2 ? "1.1" : "1") },
                        { "WholeNumber2", (i == 3 ? "1.1" : "1") },
                        { "Numerator2", (i == 4 ? "1.1" : "1") },
                        { "Denominator2", (i == 5 ? "1.1" : "1") }
                    };
                    var postNegativeTest = new PostNegativeTest(Resource, data, modalErrorPattern);
                    postNegativeTest.Go();
                }
            }
        }
Ejemplo n.º 24
0
 private void RunNumbers(string operation, List <MixedFractionTriplet> mftList)
 {
     foreach (var mft in mftList)
     {
         var data = new DodoWareData();
         data.Add("Operation", operation);
         if (mft.Item1.WholeNumber.HasValue)
         {
             data.Add("WholeNumber1", mft.Item1.WholeNumber.Value.ToString());
         }
         if (mft.Item1.Numerator.HasValue)
         {
             data.Add("Numerator1", mft.Item1.Numerator.Value.ToString());
         }
         if (mft.Item1.Denominator.HasValue)
         {
             data.Add("Denominator1", mft.Item1.Denominator.Value.ToString());
         }
         if (mft.Item2.WholeNumber.HasValue)
         {
             data.Add("WholeNumber2", mft.Item2.WholeNumber.Value.ToString());
         }
         if (mft.Item2.Numerator.HasValue)
         {
             data.Add("Numerator2", mft.Item2.Numerator.Value.ToString());
         }
         if (mft.Item2.Denominator.HasValue)
         {
             data.Add("Denominator2", mft.Item2.Denominator.Value.ToString());
         }
         var dodoWareResult = DodoWareWeb.Singleton.Post(Resource, data);
         var fractionResult = new FractionResult(dodoWareResult);
         Assert.AreEqual(mft.Item1, fractionResult.InputFraction1);
         Assert.AreEqual(mft.Item2, fractionResult.InputFraction2);
         Assert.AreEqual(mft.Item3, fractionResult.OutputFraction);
     }
 }