コード例 #1
0
 private void AssertAddFunction(Term expr, TimeSpan ts)
 {
     var funcTerm = 
         new Term() {
             type = Term.TermType.FUNC,
             args = {
                 new Term() {
                     type = Term.TermType.MAKE_ARRAY,
                     args = {
                         new Term() {
                             type = Term.TermType.DATUM,
                             datum = new Datum() {
                                 type = Datum.DatumType.R_NUM,
                                 r_num = 2,
                             }
                         }
                     }
                 },
                 new Term() {
                     type = Term.TermType.ADD,
                     args = {
                         new Term() {
                             type = Term.TermType.VAR,
                             args = {
                                 new Term() {
                                     type = Term.TermType.DATUM,
                                     datum = new Datum() {
                                         type = Datum.DatumType.R_NUM,
                                         r_num = 2,
                                     }
                                 }
                             }
                         },
                         new Term() {
                             type = Term.TermType.DATUM,
                             datum = new Datum() {
                                 type = Datum.DatumType.R_NUM,
                                 r_num = ts.TotalSeconds,
                             }
                         },
                     }
                 },
             }
         };
     expr.ShouldBeEquivalentTo(funcTerm);
 }
コード例 #2
0
 private void AssertDateTimeAccessor(Term expr, Term.TermType termType)
 {
     expr.ShouldBeEquivalentTo(
         new Term() {
             type = Term.TermType.FUNC,
             args = {
                 new Term() {
                     type = Term.TermType.MAKE_ARRAY,
                     args = {
                         new Term() {
                             type = Term.TermType.DATUM,
                             datum = new Datum() {
                                 type = Datum.DatumType.R_NUM,
                                 r_num = 2,
                             }
                         }
                     }
                 },
                 new Term() {
                     type = termType,
                     args = {
                         new Term() {
                             type = Term.TermType.VAR,
                             args = {
                                 new Term() {
                                     type = Term.TermType.DATUM,
                                     datum = new Datum() {
                                         type = Datum.DatumType.R_NUM,
                                         r_num = 2,
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     );
 }
コード例 #3
0
 private void AssertAddFunctionWithConversion(Term expr, double value, double conversion)
 {
     var funcTerm =
         new Term() {
             type = Term.TermType.FUNC,
             args = {
                 new Term() {
                     type = Term.TermType.MAKE_ARRAY,
                     args = {
                         new Term() {
                             type = Term.TermType.DATUM,
                             datum = new Datum() {
                                 type = Datum.DatumType.R_NUM,
                                 r_num = 2,
                             }
                         }
                     }
                 },
                 new Term() {
                     type = Term.TermType.ADD,
                     args = {
                         new Term() {
                             type = Term.TermType.VAR,
                             args = {
                                 new Term() {
                                     type = Term.TermType.DATUM,
                                     datum = new Datum() {
                                         type = Datum.DatumType.R_NUM,
                                         r_num = 2,
                                     }
                                 }
                             }
                         },
                         new Term() {
                             type = Term.TermType.MUL,
                             args = {
                                 new Term() {
                                     type = Term.TermType.DATUM,
                                     datum = new Datum() {
                                         type = Datum.DatumType.R_NUM,
                                         r_num = value,
                                     }
                                 },
                                 new Term() {
                                     type = Term.TermType.DATUM,
                                     datum = new Datum() {
                                         type = Datum.DatumType.R_NUM,
                                         r_num = conversion,
                                     }
                                 },
                             }
                         }
                     }
                 },
             }
         };
     expr.ShouldBeEquivalentTo(funcTerm);
 }