Пример #1
0
        /// <summary>
        /// Сопоставить файл с маской
        /// </summary>
        /// <param name="file">Файл для проверки</param>
        /// <returns>Возвращает true если файл подошёл по маске, false в противном случае.</returns>
        public bool CompareWithExpression(File file)
        {
            MaskHandler.currentFile = file;
            try
            {
                AntlrInputStream  input  = new AntlrInputStream(this.mask + "\n");
                MaskLexer         lexer  = new MaskLexer(input);
                CommonTokenStream tokens = new CommonTokenStream(lexer);
                MaskParser        parser = new MaskParser(tokens);
                parser.mask();

                if (final == true)
                {
                    Result.result.Add(Path.GetFullPath(file.GetName()));
                    return(true);
                }
            }

            catch (InputMismatchException error)
            {
                Console.WriteLine("Error");
            }

            return(false);
        }
    public Image <Rgb, byte> GetBodyImage(bool withhandle = false)
    {
        Image <Rgb, byte> body_img = new Image <Rgb, byte>(width, height);

        body_img.SetZero();
        foreach (Vector2 p in this.body)
        {
            body_img[(int)p.y, (int)p.x] = new Rgb(255, 255, 255);
        }

        MaskParser.FillGap(body_img);
        //MaskParser.FillHole(body_img);

        if (withhandle)
        {
            List <Image <Rgb, byte> > handles = this.GetHandleImage();
            foreach (Image <Rgb, byte> hi in handles)
            {
                hi.SetValue(new Rgb(255, 0, 0), hi.Convert <Gray, byte>());
                CvInvoke.BitwiseOr(body_img, hi, body_img);
            }
            MaskParser.FillGap(body_img, 5);
            body_img.Save("xxx.png");
        }


        //if (label == Label.Cylinder)
        //{
        //    body_img = MaskParser.FillBodyWithHandle(body_img, this.GetHandleImage());
        //}
        return(body_img);
    }
Пример #3
0
        public void CleanUp()
        {
            var parser = new MaskParser(_expectedMask);

            Assert.AreEqual(_expectedMask, parser.GetMaskFromTagsAndSplits());
            CollectionAssert.AreEqual(_expectedTags, parser.GetTags());
            CollectionAssert.AreEqual(_expectedSplits, parser.GetSplits());
        }
Пример #4
0
        public void MaskParser_IsEqualNumberOfSplitsInMaskAndFileName_ReturnFalse()
        {
            // arrange
            var _expectedMask = "{track}.{artist}{title}";
            var parser        = new MaskParser(_expectedMask);

            // act
            var actual = parser.IsEqualNumberOfSplitsInMaskAndFileName(".", "Alla.Pop.Arlekino");

            // assert
            Assert.IsFalse(actual);
        }
    public void ParseRawMask(Image <Rgb, byte> img)
    {
        MaskParser mp = new MaskParser(img);

        this.geometries = mp.Parse();
    }
Пример #6
0
        public void MaskParser_WithoutSplits_Exception()
        {
            var parser = new MaskParser("{artist}{track}");

            parser.ValidateFileName("TestArtist1");
        }
Пример #7
0
        public void MaskParser_ManySplits_Exception()
        {
            var parser = new MaskParser("{artist}-{track}");

            parser.ValidateFileName("Test-Artist-1");
        }
Пример #8
0
        public void MaskParser_SplitInBeginAndEnd_Successful()
        {
            var parser = new MaskParser("-{artist}.{track}-");

            Assert.IsTrue(parser.ValidateFileName("-TestArtist.1-"));
        }
Пример #9
0
        public void MaskParser_LetterInCenter_Successful()
        {
            var parser = new MaskParser("{artist}Q{track}");

            Assert.IsTrue(parser.ValidateFileName("TestArtistQ1"));
        }
Пример #10
0
        public void MaskParser_SameSplits_Successful()
        {
            var parser = new MaskParser("{artist} - {title} - {track}");

            Assert.IsTrue(parser.ValidateFileName("TestArtist - TestTitle - 1"));
        }
Пример #11
0
        public void MaskParser_SplitInBegin_Successful()
        {
            var parser = new MaskParser("a{artist}");

            Assert.IsTrue(parser.ValidateFileName("aTestArtist"));
        }
Пример #12
0
        public void MaskParser_Common_Successful()
        {
            var parser = new MaskParser("{artist} - {title}");

            Assert.IsTrue(parser.ValidateFileName("TestArtist - TestTitle"));
        }