示例#1
0
        public void Seed_WithTags_Ok()
        {
            OrthographyLayerFragmentSeeder seeder = new OrthographyLayerFragmentSeeder();

            seeder.SetSeedOptions(_seedOptions);
            seeder.Configure(new OrthographyLayerFragmentSeederOptions
            {
                Tags = new[]
                {
                    "alpha",
                    "beta",
                    "gamma"
                }
            });

            ITextLayerFragment fragment = seeder.GetFragment(_item, "1.1", "alpha");

            Assert.NotNull(fragment);

            OrthographyLayerFragment fr = fragment as OrthographyLayerFragment;

            Assert.NotNull(fr);

            Assert.Equal("1.1", fr.Location);
            Assert.NotNull(fr.Standard);
            Assert.Single(fr.Operations);
            MspOperation op = MspOperation.Parse(fr.Operations[0]);

            Assert.NotNull(op.Tag);
        }
示例#2
0
        public void Parse_SwapWithValuesAB_Ok(string tag, string note)
        {
            string       text = AppendTagAndNote("\"a\"@2x1~\"b\"@4x1", tag, note);
            MspOperation op   = MspOperation.Parse(text);

            // op: swap
            Assert.Equal(MspOperator.Swap, op.Operator);
            // ranges: A
            Assert.Equal("2", op.RangeA.ToString());
            Assert.Equal("4", op.RangeB.ToString());
            // values: A B
            Assert.Equal("a", op.ValueA);
            Assert.Equal("b", op.ValueB);
            // tag and notes
            Assert.Equal(tag, op.Tag);
            Assert.Equal(note, op.Note);
        }
示例#3
0
        public void Parse_MoveWithValueA_Ok(string tag, string note)
        {
            string       text = AppendTagAndNote("\"a\"@2x1>@4", tag, note);
            MspOperation op   = MspOperation.Parse(text);

            // op: move
            Assert.Equal(MspOperator.Move, op.Operator);
            // ranges: A
            Assert.Equal("2", op.RangeA.ToString());
            Assert.Equal("4×0", op.RangeB.ToString());
            // values: A
            Assert.Equal("a", op.ValueA);
            Assert.Null(op.ValueB);
            // tag and notes
            Assert.Equal(tag, op.Tag);
            Assert.Equal(note, op.Note);
        }
示例#4
0
        public void Parse_ReplaceWithValueA_Ok(string tag, string note)
        {
            string       text = AppendTagAndNote("\"a\"@2x1=\"b\"", tag, note);
            MspOperation op   = MspOperation.Parse(text);

            // op: replace
            Assert.Equal(MspOperator.Replace, op.Operator);
            // ranges: A
            Assert.Equal("2", op.RangeA.ToString());
            Assert.Equal(TextRange.Empty, op.RangeB);
            // values: A B
            Assert.Equal("a", op.ValueA);
            Assert.Equal("b", op.ValueB);
            // tag and notes
            Assert.Equal(tag, op.Tag);
            Assert.Equal(note, op.Note);
        }
示例#5
0
        public void Parse_Insert_Ok(string tag, string note)
        {
            string       text = AppendTagAndNote("@2x0=\"s\"", tag, note);
            MspOperation op   = MspOperation.Parse(text);

            // op: delete
            Assert.Equal(MspOperator.Insert, op.Operator);
            // ranges: A
            Assert.Equal("2×0", op.RangeA.ToString());
            Assert.Equal(TextRange.Empty, op.RangeB);
            // values: B
            Assert.Equal("s", op.ValueB);
            Assert.Null(op.ValueA);
            // tag and notes
            Assert.Equal(tag, op.Tag);
            Assert.Equal(note, op.Note);
        }
示例#6
0
        public void Seed_WithoutTags_Ok()
        {
            OrthographyLayerFragmentSeeder seeder = new OrthographyLayerFragmentSeeder();

            ITextLayerFragment fragment = seeder.GetFragment(_item, "1.1", "alpha");

            Assert.NotNull(fragment);

            OrthographyLayerFragment fr = fragment as OrthographyLayerFragment;

            Assert.NotNull(fr);

            Assert.Equal("1.1", fr.Location);
            Assert.NotNull(fr.Standard);
            Assert.Single(fr.Operations);
            MspOperation op = MspOperation.Parse(fr.Operations[0]);

            Assert.Null(op.Tag);
        }
示例#7
0
        public void Parse_Whitespaces_Null()
        {
            MspOperation op = MspOperation.Parse("  \n  ");

            Assert.Null(op);
        }
示例#8
0
        public void Parse_Empty_Null()
        {
            MspOperation op = MspOperation.Parse("");

            Assert.Null(op);
        }
示例#9
0
        public void Parse_Null_Null()
        {
            MspOperation op = MspOperation.Parse(null);

            Assert.Null(op);
        }