Ejemplo n.º 1
0
 public void CarneBateryTest(FlagFilter filter)
 {
     Assert.IsFalse(filter.Test(new string[] { }));
     Assert.IsTrue(filter.Test(new string[] { "vegetal", "carne" }));
     Assert.IsTrue(filter.Test(new string[] { "carne" }));
     Assert.IsFalse(filter.Test(new string[] { "vegetal" }));
     Assert.IsFalse(filter.Test(new string[] { "vegetal", "tomate", "cebola" }));
 }
Ejemplo n.º 2
0
 public void Complex1BateryTest(FlagFilter filter)
 {
     //v1 or v2, never in test
     Assert.IsFalse(filter.Test(new string[] { "test" }));
     Assert.IsFalse(filter.Test(new string[] { "test", "v1" }));
     Assert.IsFalse(filter.Test(new string[] { "v3" }));
     Assert.IsTrue(filter.Test(new string[] { "v1" }));
     Assert.IsTrue(filter.Test(new string[] { "v2", "production" }));
 }
Ejemplo n.º 3
0
        //[TestMethod]
        //public void ComplexFilter2_2()
        //{
        //    var filter = new FlagFilter("!test&((v1)|(v2))");
        //}

        //[TestMethod]
        //public void ComplexFilter2_3()
        //{
        //    var filter = new FlagFilter("!(test)&((v1)|(v2))");
        //}

        public void Complex2BateryTest(FlagFilter filter)
        {
            //meat, vegetable or fruit. never with muchSugar or muchCarbo. never rot
            Assert.IsFalse(filter.Test(new string[] { "rock" }));
            Assert.IsTrue(filter.Test(new string[] { "meat" }));
            Assert.IsFalse(filter.Test(new string[] { "meat", "rot" }));
            Assert.IsFalse(filter.Test(new string[] { "fruit", "muchSugar" }));
            Assert.IsTrue(filter.Test(new string[] { "fruit", "meat", "vegetable" }));
            Assert.IsFalse(filter.Test(new string[] { "fruit", "meat", "vegetable", "rot" }));
        }
Ejemplo n.º 4
0
        public void NotCarneBateryTest(FlagFilter filter)
        {
            var result = !(new string[] { }).Contains("carne");

            Assert.IsTrue(filter.Test(new string[] { }), "Empty");
            Assert.IsFalse(filter.Test(new string[] { "vegetal", "carne" }), "vegetal,carne");
            Assert.IsFalse(filter.Test(new string[] { "carne" }), "carne");
            Assert.IsTrue(filter.Test(new string[] { "vegetal" }), "vegetal");
            Assert.IsTrue(filter.Test(new string[] { "vegetal", "tomate", "cebola" }), "vegetal,tomate,cebola");
            Assert.IsTrue(filter.Test(new string[] { "tomate", "cebola" }), "tomate,cebola");
        }
Ejemplo n.º 5
0
        internal void TrimFolder(string folder, string filter)
        {
            filter = filter.ToLowerInvariant();
            var        allFiles   = System.IO.Directory.GetFiles(folder, "*.*", System.IO.SearchOption.AllDirectories);
            FlagFilter flagFilter = new FlagFilter(filter);

            System.Uri rootFolder = new Uri(folder);
            foreach (var filePath in allFiles)
            {
                System.Uri fileUri     = new Uri(filePath);
                Uri        relativeUri = rootFolder.MakeRelativeUri(fileUri);
                var        parts       = relativeUri.ToString().ToLowerInvariant().Split('/');
                var        flags       = parts.Skip(1).Take(parts.Length - 2).ToArray();
                if (!flagFilter.Test(flags))
                {
                    System.IO.File.Delete(filePath);
                }
            }
        }
Ejemplo n.º 6
0
 public void InvalidExpression1()
 {
     string[] invalidExpressions = new string[] {
         "!!tag1",
         "&tag1",
         "tag1&&tag2",
         "tag1||tag2",
         "|(tag1)",
         "tag|",
         "tag&",
         "tag!",
         "(|tag)",
         "tag&(&tag)"
     };
     foreach (var item in invalidExpressions)
     {
         try
         {
             var filter = new FlagFilter(item);
             Assert.Fail(item);
         }
         catch (AssertFailedException ex)
         {
             throw ex;
         }
         catch (ArgumentException ex)
         {
             //this is ok
         }
         catch (Exception ex)
         {
             //this is unexpected
             Assert.Fail(string.Format("Unexpected exception type ({0}) for expression '{1}'.", ex.Message, item));
         }
     }
 }
Ejemplo n.º 7
0
 public void CarneFilter()
 {
     var filter = new FlagFilter("carne");
 }
Ejemplo n.º 8
0
 public void ComplexFilter2_1()
 {
     var filter = new FlagFilter("(meat|vegetable|fruit)&!rot&!muchSugar&!muchCarbo");
 }
Ejemplo n.º 9
0
        public void NotCarneFilter5()
        {
            var filter = new FlagFilter(" (( ! ( carne ) )) ");

            NotCarneBateryTest(filter);
        }
Ejemplo n.º 10
0
        public void CarneFilterWithParenthesis3()
        {
            var filter = new FlagFilter("( ( ( carne ) ) )");

            CarneBateryTest(filter);
        }
Ejemplo n.º 11
0
        public void NotCarneFilter2()
        {
            var filter = new FlagFilter(" ! carne ");

            NotCarneBateryTest(filter);
        }
Ejemplo n.º 12
0
 public void ComplexFilter1_2()
 {
     var filter = new FlagFilter("!test&((v1)|(v2))");
 }
Ejemplo n.º 13
0
        public void CarneOrVegetalFilter4()
        {
            var filter = new FlagFilter(" ( ( carne | vegetal ) ) ");

            CarneOrVegetalBateryTest(filter);
        }
Ejemplo n.º 14
0
        public void CarneOrVegetalFilter2()
        {
            var filter = new FlagFilter(" carne | vegetal ");

            CarneOrVegetalBateryTest(filter);
        }
Ejemplo n.º 15
0
 public void ComplexFilter1_1()
 {
     var filter = new FlagFilter("!test&(v1|v2)");
 }
Ejemplo n.º 16
0
        public void CarneFilterWithWhiteSpaces()
        {
            var filter = new FlagFilter(" carne ");

            CarneBateryTest(filter);
        }
Ejemplo n.º 17
0
 public void ComplexFilter1_3()
 {
     var filter = new FlagFilter("!(test)&((v1)|(v2))");
 }
Ejemplo n.º 18
0
 public FlagMigrationFilter(FlagFilter filter)
 {
     this.filter = filter;
 }