Esempio n. 1
0
    public void BlockMask_UpdateFrom()
    {
        var mask = new BlockMask(".", new Block('('), new Block('0', 2, 2), new Block(')'));

        mask.Blocks.Length.Should().Be(3);
        mask.Delimiters.Should().Be(".");
        mask.SetText("(1234)");
        mask.ToString().Should().Be("(.12.)|");
        mask.CaretPos = 1;
        mask.UpdateFrom(new BlockMask(":", new Block('0', 1, 1), new Block('0', 1, 1)));
        mask.Blocks.Length.Should().Be(2);
        mask.Delimiters.Should().Be(":");
        // state should be preserved (Text, Caret/Selection)
        mask.ToString().Should().Be("1|:2");
        mask.UpdateFrom(null);
        mask.Blocks.Length.Should().Be(2);
        mask.Delimiters.Should().Be(":");
        // state should be preserved (Text, Caret/Selection)
        mask.ToString().Should().Be("1|:2");
    }