Esempio n. 1
0
        public void SignPrecedence()
        {
            var eq       = new ImageFramework.Model.Equation.Equation("-1+2");
            var hlsl     = eq.GetHlslExpression();
            var expected = $"(({NumberToken.ToHlsl(-1.0f)}*{NumberToken.ToHlsl(1.0f)})+{NumberToken.ToHlsl(2.0f)})";

            Assert.AreEqual(expected, hlsl.Replace(" ", ""));
        }
Esempio n. 2
0
        public void SignOperatorAndBrackets()
        {
            var eq       = new ImageFramework.Model.Equation.Equation("1+0.4*-2");
            var hlsl     = eq.GetHlslExpression();
            var expected =
                $"({NumberToken.ToHlsl(1.0f)}+({NumberToken.ToHlsl(0.4f)}*({NumberToken.ToHlsl(-1.0f)}*{NumberToken.ToHlsl(2.0f)})))";

            Assert.AreEqual(expected, hlsl.Replace(" ", ""));
        }
Esempio n. 3
0
        public void PowTranslation()
        {
            // this should translate to the same expression
            var eq    = new ImageFramework.Model.Equation.Equation("red(I0)^2*0.1");
            var eq2   = new ImageFramework.Model.Equation.Equation("pow(red(I0),2)*0.1");
            var hlsl  = eq.GetHlslExpression();
            var hlsl2 = eq2.GetHlslExpression();

            Assert.AreEqual(hlsl2, hlsl);
        }
Esempio n. 4
0
 // equation should succeed
 private void AssertSuccess(string formula)
 {
     try
     {
         var eq = new ImageFramework.Model.Equation.Equation(formula);
     }
     catch (Exception e)
     {
         Assert.Fail(e.Message);
     }
 }
Esempio n. 5
0
 // equation should fail
 private void AssertThrow(string formula)
 {
     try
     {
         var eq = new ImageFramework.Model.Equation.Equation(formula);
     }
     catch (Exception)
     {
         return;
     }
     Assert.Fail("formula was invalid but passed");
 }
Esempio n. 6
0
 private int GetMaxImage(string formula)
 {
     try
     {
         var eq = new ImageFramework.Model.Equation.Equation(formula);
         return(eq.MaxImageId);
     }
     catch (Exception e)
     {
         Assert.Fail(e.Message);
         return(-1);
     }
 }
Esempio n. 7
0
 // equation should scceed with result
 private void AssertEquals(string formula, string result)
 {
     try
     {
         var eq  = new ImageFramework.Model.Equation.Equation(formula);
         var res = eq.GetHlslExpression();
         Assert.IsTrue(res.Equals(result));
     }
     catch (Exception e)
     {
         Assert.Fail(e.Message);
     }
 }
Esempio n. 8
0
        public void OperatorPrecedence()
        {
            var eq       = new ImageFramework.Model.Equation.Equation("(3-1)*0.4+1");
            var hlsl     = eq.GetHlslExpression();
            var expected =
                $"((({NumberToken.ToHlsl(3.0f)}-{NumberToken.ToHlsl(1.0f)})*{NumberToken.ToHlsl(0.4f)})+{NumberToken.ToHlsl(1.0f)})";

            Assert.AreEqual(expected, hlsl.Replace(" ", ""));

            eq   = new ImageFramework.Model.Equation.Equation("1+0.4*(3-1)");
            hlsl = eq.GetHlslExpression();

            expected =
                $"({NumberToken.ToHlsl(1.0f)}+({NumberToken.ToHlsl(0.4f)}*({NumberToken.ToHlsl(3.0f)}-{NumberToken.ToHlsl(1.0f)})))";

            Assert.AreEqual(expected, hlsl.Replace(" ", ""));
        }