Пример #1
0
        /// <summary></summary>
        static Dialect()
        {
            standardAggregateFunctions["count"] = new CountQueryFunctionInfo();
            standardAggregateFunctions["avg"] = new AvgQueryFunctionInfo();
            standardAggregateFunctions["max"] = new ClassicAggregateFunction("max",false);
            standardAggregateFunctions["min"] = new ClassicAggregateFunction("min",false);
            standardAggregateFunctions["sum"] = new SumQueryFunctionInfo();

            Extracter = new NoOpViolatedConstraintNameExtracter();
        }
		public void ClassicAggregate()
		{
			IList args = new ArrayList();

			ClassicAggregateFunction caf = new ClassicAggregateFunction("max", false);
			args.Add("va1");
			Assert.AreEqual("max(va1)", caf.Render(args, factoryImpl).ToString());

			args.Clear();
			args.Add("distinct");
			args.Add("va2");
			Assert.AreEqual("max(distinct va2)", caf.Render(args, factoryImpl).ToString());

			args.Clear();
			args.Add("va1");
			args.Add("va2");
			try
			{
				SqlString t = caf.Render(args, factoryImpl);
				Assert.Fail("No exception 2 argument without <setquantifier>:" + t);
			}
			catch (QueryException)
			{
				//correct
			}

			args.Clear();
			args.Add("*");
			try
			{
				SqlString t = caf.Render(args, factoryImpl);
				Assert.Fail("No exception '*' :" + t);
			}
			catch (QueryException)
			{
				//correct
			}
		}