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); }
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, } } } } } } } } ); }
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); }