Ejemplo n.º 1
0
        public void Test_ToString_WithStrings()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", "200", "300" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            string valuesAsString = criteriaValues.ToString();

            //-------------Test Result ----------------------
            Assert.AreEqual("('100', '200', '300')", valuesAsString);
        }
Ejemplo n.º 2
0
        public void Test_ConstructorRemovesQuotesAroundStrings()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "'100'", "'200'", "'300'" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            int result = criteriaValues.CompareTo("100");

            //-------------Test Result ----------------------
            Assert.AreEqual(0, result);
        }
Ejemplo n.º 3
0
        public void Test_CompareTo_WhenNotInValues_ShouldReturnNotZero()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", "200", "300" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            int result = criteriaValues.CompareTo("10");

            //-------------Test Result ----------------------
            Assert.AreNotEqual(0, result);
        }
Ejemplo n.º 4
0
        public void Test_CompareTo_WhenInValues_ShouldReturnZero()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", "200", "300" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            int result = criteriaValues.CompareTo("100");

            //-------------Test Result ----------------------
            Assert.AreEqual(0, result);
        }
Ejemplo n.º 5
0
        public void Test_CompareTo_WhenNullInValuesAndLookingForValue_ShouldReturnZero()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", null, "300" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            int result = criteriaValues.CompareTo("300");

            //-------------Test Result ----------------------
            Assert.AreEqual(0, result);
        }
Ejemplo n.º 6
0
        public void Test_ToString_WhenHasNullValues_ShouldReturnOk()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", "200", null };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            string valuesAsString = criteriaValues.ToString();

            //-------------Test Result ----------------------
            Assert.AreEqual("('100', '200')", valuesAsString);
        }
Ejemplo n.º 7
0
        public void Test_ToString_WithStrings()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", "200", "300" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            string valuesAsString = criteriaValues.ToString();

            //-------------Test Result ----------------------
            Assert.AreEqual("('100', '200', '300')", valuesAsString);
        }
Ejemplo n.º 8
0
        public void Test_ToString_WithIntegers()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { 100, 200, 300 };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            string valuesAsString = criteriaValues.ToString();

            //-------------Test Result ----------------------
            Assert.AreEqual("(100, 200, 300)", valuesAsString);
        }
Ejemplo n.º 9
0
        public void Test_ToString_WhenHasNullValues_ShouldReturnOk()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { "100", "200", null };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            string valuesAsString = criteriaValues.ToString();

            //-------------Test Result ----------------------
            Assert.AreEqual("('100', '200')", valuesAsString);
        }
Ejemplo n.º 10
0
        public void Test_ToString_WithIntegers()
        {
            //-------------Setup Test Pack ------------------
            object[] values = new object[] { 100, 200, 300 };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //-------------Execute test ---------------------
            string valuesAsString = criteriaValues.ToString();

            //-------------Test Result ----------------------
            Assert.AreEqual("(100, 200, 300)", valuesAsString);
        }
Ejemplo n.º 11
0
        private string CreateInClause(SqlStatement statement, object value)
        {
            string paramName = statement.ParameterNameGenerator.GetNextParameterName();
            string inClause  = "(";

            Criteria.CriteriaValues criteriaValues = (Criteria.CriteriaValues)value;
            int i = 0;

            foreach (var paramValue in criteriaValues)
            {
                statement.AddParameter(paramName, paramValue);
                inClause += paramName;
                if (i < criteriaValues.Count - 1)
                {
                    inClause += ", ";
                    paramName = statement.ParameterNameGenerator.GetNextParameterName();
                }
                i++;
            }
            inClause += ")";
            return(inClause);
        }
Ejemplo n.º 12
0
 public void TestCreateSqlStatement_WithNotInCriteria()
 {
     //---------------Set up test pack-------------------
     IClassDef classDef = MyBO.LoadDefaultClassDef();
     IEnumerable values = new object[] { "100", "200", "300" };
     Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);
     Criteria criteria = new Criteria("TestProp", Criteria.ComparisonOp.NotIn, criteriaValues);
     ISelectQuery selectQuery = QueryBuilder.CreateSelectQuery(classDef, criteria);
     SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
     //---------------Assert PreConditions---------------            
     //---------------Execute Test ----------------------
     ISqlStatement statement = query.CreateSqlStatement(_sqlFormatter);
     //---------------Test Result -----------------------
     string statementString = statement.Statement.ToString();
     StringAssert.EndsWith("WHERE a1.[TestProp] NOT IN (?Param0, ?Param1, ?Param2)", statementString);
     Assert.AreEqual("?Param0", statement.Parameters[0].ParameterName);
     Assert.AreEqual("100", statement.Parameters[0].Value);
     Assert.AreEqual("?Param1", statement.Parameters[1].ParameterName);
     Assert.AreEqual("200", statement.Parameters[1].Value);
     Assert.AreEqual("?Param2", statement.Parameters[2].ParameterName);
     Assert.AreEqual("300", statement.Parameters[2].Value);
     //---------------Tear Down -------------------------          
 }
Ejemplo n.º 13
0
 private static Criteria GetCriteriaLeaf(CriteriaExpression criteriaExpression)
 {
     string propName = criteriaExpression.Left.Expression;
     string operatorString = criteriaExpression.Expression;
     object value = criteriaExpression.Right.Expression;
     Criteria.ComparisonOp comparisonOp = CreateComparisonOperator(operatorString);
     if ((comparisonOp == Criteria.ComparisonOp.In || comparisonOp == Criteria.ComparisonOp.NotIn) && value is string)
     {
         string inValuesString = value.ToString().TrimStart('(').TrimEnd(')');
         HabaneroStringBuilder valueStringBuilder = new HabaneroStringBuilder(inValuesString);
         valueStringBuilder.RemoveQuotedSections();
         List<string> finalStrings = new List<string>();
         int commaIndex;
         int lastIndex = 0;
         commaIndex = valueStringBuilder.IndexOf(",");
         while (commaIndex != -1) {
             HabaneroStringBuilder oneValueSubstring = valueStringBuilder.Substring(lastIndex, commaIndex-lastIndex);
             finalStrings.Add(oneValueSubstring.PutBackQuotedSections().ToString().Trim());
             lastIndex = commaIndex+1;
             commaIndex = valueStringBuilder.IndexOf(",", lastIndex);
         }
         HabaneroStringBuilder oneValueString = valueStringBuilder.Substring(lastIndex, valueStringBuilder.ToString().Length - lastIndex);
         finalStrings.Add(oneValueString.PutBackQuotedSections().ToString().Trim());
         value = new Criteria.CriteriaValues(finalStrings);
     }
     return new Criteria(propName, comparisonOp, value);
 }
Ejemplo n.º 14
0
        public void TestNotIsMatch_OneProp_NotIn_Null()
        {
            //---------------Set up test pack-------------------
            ClassDef.ClassDefs.Clear();
            ContactPersonTestBO.LoadDefaultClassDef();
            ContactPersonTestBO cp = new ContactPersonTestBO();
            cp.Surname = "Surname1";
            cp.FirstName = null;
            cp.Save();
            object[] values = new object[] { null, "FirstName1" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);

            //---------------Assert PreConditions---------------            
            //---------------Execute Test ----------------------
            Criteria criteria = new Criteria("FirstName", Criteria.ComparisonOp.NotIn, criteriaValues);
            bool isMatch = criteria.IsMatch(cp);

            //---------------Test Result -----------------------
            Assert.IsFalse(isMatch, "The object should not be a match since it doesn't match the criteria given.");
            //---------------Tear Down -------------------------          
        }
Ejemplo n.º 15
0
        public void TestNotIn()
        {
            //-------------Setup Test Pack ------------------
            //-------------Test Pre-conditions --------------

            //-------------Execute test ---------------------
            object[] values = new object[] { "100", "200", "300" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);
            Criteria criteria = new Criteria("MyField", Criteria.ComparisonOp.NotIn, criteriaValues);

            //-------------Test Result ----------------------
            Assert.IsNotNull(criteria.Field);
            Assert.AreEqual("MyField", criteria.Field.PropertyName);
            Assert.IsNull(criteria.Field.Source);
            Assert.AreEqual("MyField", criteria.Field.FieldName);
            Assert.AreEqual(Criteria.ComparisonOp.NotIn, criteria.ComparisonOperator);
            Assert.IsTrue(criteria.CanBeParametrised());
        }
Ejemplo n.º 16
0
        public void TestIsMatch_OneProp_In()
        {
            //---------------Set up test pack-------------------
            ClassDef.ClassDefs.Clear();
            ContactPersonTestBO.LoadDefaultClassDef();
            ContactPersonTestBO cp = new ContactPersonTestBO();
            cp.Surname = "Surname1";
            cp.Save();
            object[] values = new object[] { "Surname1", "Surname2" };
            Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);
            //---------------Assert PreConditions---------------            
            //---------------Execute Test ----------------------
            Criteria criteria = new Criteria("Surname", Criteria.ComparisonOp.In, criteriaValues);

            bool isMatch = criteria.IsMatch(cp);
            //---------------Test Result -----------------------
            Assert.IsTrue(isMatch, "The object should be a match since it matches the criteria given.");
            //---------------Tear Down -------------------------          
        }
Ejemplo n.º 17
0
 public void Test_ConstructorRemovesQuotesAroundStrings()
 {
     //-------------Setup Test Pack ------------------
     object[] values = new object[] { "'100'", "'200'", "'300'" };
     Criteria.CriteriaValues criteriaValues = new Criteria.CriteriaValues(values);
     
     //-------------Execute test ---------------------
     int result = criteriaValues.CompareTo("100");
     //-------------Test Result ----------------------
     Assert.AreEqual(0, result);
 }