Exemple #1
0
        public void SomeTests()
        {
            Tag t1 = new Tag(null, 1, "tag1");
            Tag t2 = new Tag(null, 2, "tag2");
            Tag t3 = new Tag(null, 3, "tag3");
            Tag t4 = new Tag(null, 4, "tag4");
            Tag t5 = new Tag(null, 5, "tag5");

            TagTerm tt1 = new TagTerm(t1);
            TagTerm tt2 = new TagTerm(t2);
            TagTerm tt3 = new TagTerm(t3);
            TagTerm tt4 = new TagTerm(t4);
            TagTerm tt5 = new TagTerm(t5);

            object [] tests =
            {
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id = 1)) ",          tt1,
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (2, 3))) ",    new OrTerm(tt2,tt3),
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (3, 4, 5))) ", new OrTerm(tt3,tt4,  tt5),
            };

            for (int i = 0; i < tests.Length; i += 2)
            {
                //System.Console.WriteLine ((tests[i+1] as LogicalTerm).SqlClause ());
                //System.Console.WriteLine (tests[i]);
                Assert.AreEqual(tests[i] as string, (tests[i + 1] as LogicalTerm).SqlClause());
            }
        }
Exemple #2
0
        public void SomeTests()
        {
            Tag t1 = new Tag (null, 1, "tag1");
            Tag t2 = new Tag (null, 2, "tag2");
            Tag t3 = new Tag (null, 3, "tag3");
            Tag t4 = new Tag (null, 4, "tag4");
            Tag t5 = new Tag (null, 5, "tag5");

            TagTerm tt1 = new TagTerm (t1);
            TagTerm tt2 = new TagTerm (t2);
            TagTerm tt3 = new TagTerm (t3);
            TagTerm tt4 = new TagTerm (t4);
            TagTerm tt5 = new TagTerm (t5);

            object [] tests = {
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id = 1)) ", tt1,
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (2, 3))) ", new OrTerm (tt2, tt3),
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (3, 4, 5))) ", new OrTerm (tt3, tt4, tt5),

            };

            for (int i=0; i < tests.Length; i+=2) {
                //System.Console.WriteLine ((tests[i+1] as LogicalTerm).SqlClause ());
                //System.Console.WriteLine (tests[i]);
                Assert.AreEqual (tests[i] as string, (tests[i+1] as LogicalTerm).SqlClause ());
            }
        }
        public void SomeTests()
        {
            var c10 = new Category(null, 10, "tag10");
            var c11 = new Category(null, 11, "tag11");
            var c12 = new Category(c11, 12, "tag12");

            var t1 = new Tag(null, 1, "tag1");
            var t2 = new Tag(null, 2, "tag2");
            var t3 = new Tag(c10, 3, "tag3");
            var t4 = new Tag(c11, 4, "tag4");
            var t5 = new Tag(c12, 5, "tag5");

            var tt10 = new TagTerm(c10);
            var tt11 = new TagTerm(c11);
            var tt12 = new TagTerm(c12);

            var tt1 = new TagTerm(t1);
            var tt2 = new TagTerm(t2);
            var tt3 = new TagTerm(t3);
            var tt4 = new TagTerm(t4);
            var tt5 = new TagTerm(t5);

            object [] tests =
            {
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id = 1)) ",               tt1,
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (2, 3))) ",         new OrOperator(tt2,  tt3),
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (3, 4, 5))) ",      new OrOperator(tt3,  tt4,  tt5),
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (10, 3))) ",        new OrOperator(tt10),
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (10, 3, 3))) ",     new OrOperator(tt10, tt3),
                " (photos.id IN (SELECT photo_id FROM photo_tags WHERE tag_id IN (11, 12, 5, 4))) ", new OrOperator(tt11),
            };

            for (int i = 0; i < tests.Length; i += 2)
            {
                //System.Console.WriteLine ((tests[i+1] as LogicalTerm).SqlClause ());
                //System.Console.WriteLine (tests[i]);
                Assert.AreEqual(tests[i] as string, (tests[i + 1] as LogicalTerm).SqlClause());
            }
        }