public void Adapt_InsRepDel_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("bxdf", "AbCd")); Assert.Equal(3, ops.Count); // ins MspOperation op = ops[0]; Assert.Equal(MspOperator.Insert, op.Operator); Assert.Equal("1×0", op.RangeA.ToString()); Assert.Equal("A", op.ValueB); // rep op = ops[1]; Assert.Equal(MspOperator.Replace, op.Operator); Assert.Equal("2", op.RangeA.ToString()); Assert.Equal("x", op.ValueA); Assert.Equal("C", op.ValueB); // del op = ops[2]; Assert.Equal(MspOperator.Delete, op.Operator); Assert.Equal("4", op.RangeA.ToString()); Assert.Equal("f", op.ValueA); }
public void Adapt_RepMultiple_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("abcde", "XbYdZ")); Assert.Equal(3, ops.Count); // X MspOperation op = ops[0]; Assert.Equal(MspOperator.Replace, op.Operator); Assert.Equal("1", op.RangeA.ToString()); Assert.Equal("a", op.ValueA); Assert.Equal("X", op.ValueB); // Y op = ops[1]; Assert.Equal(MspOperator.Replace, op.Operator); Assert.Equal("3", op.RangeA.ToString()); Assert.Equal("c", op.ValueA); Assert.Equal("Y", op.ValueB); // Z op = ops[2]; Assert.Equal(MspOperator.Replace, op.Operator); Assert.Equal("5", op.RangeA.ToString()); Assert.Equal("e", op.ValueA); Assert.Equal("Z", op.ValueB); }
public void Adapt_Equal_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("abc", "abc")); Assert.Empty(ops); }
public void Adapt_InsInitial_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("eros", "heros")); Assert.Single(ops); // ins MspOperation op = ops[0]; Assert.Equal(MspOperator.Insert, op.Operator); Assert.Equal("1×0", op.RangeA.ToString()); Assert.Equal("h", op.ValueB); }
public void Adapt_DelFinal_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("hocc", "hoc")); Assert.Single(ops); // del MspOperation op = ops[0]; Assert.Equal(MspOperator.Delete, op.Operator); Assert.Equal("4", op.RangeA.ToString()); Assert.Equal("c", op.ValueA); }
public void Adapt_MovFromEnd_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("abX", "Xab")); Assert.Single(ops); // mov MspOperation op = ops[0]; Assert.Equal(MspOperator.Move, op.Operator); Assert.Equal("3", op.RangeA.ToString()); Assert.Equal("1×0", op.RangeB.ToString()); Assert.Equal("X", op.ValueA); }
public void Adapt_RepWithShorter_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("vicsit", "vixit")); Assert.Single(ops); // rep MspOperation op = ops[0]; Assert.Equal(MspOperator.Replace, op.Operator); Assert.Equal("3×2", op.RangeA.ToString()); Assert.Equal("cs", op.ValueA); Assert.Equal("x", op.ValueB); }
public void Adapt_RepFinal_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("victo", "victu")); Assert.Single(ops); // rep MspOperation op = ops[0]; Assert.Equal(MspOperator.Replace, op.Operator); Assert.Equal("5", op.RangeA.ToString()); Assert.Equal("o", op.ValueA); Assert.Equal("u", op.ValueB); }
public void Adapt_DelMultiple_Ok() { DifferResultToMspAdapter adapter = new DifferResultToMspAdapter(); var ops = adapter.Adapt(new diff_match_patch().diff_main("XabYcdZ", "abcd")); Assert.Equal(3, ops.Count); // X MspOperation op = ops[0]; Assert.Equal(MspOperator.Delete, op.Operator); Assert.Equal("1", op.RangeA.ToString()); Assert.Equal("X", op.ValueA); // Y op = ops[1]; Assert.Equal(MspOperator.Delete, op.Operator); Assert.Equal("4", op.RangeA.ToString()); Assert.Equal("Y", op.ValueA); // Z op = ops[2]; Assert.Equal(MspOperator.Delete, op.Operator); Assert.Equal("7", op.RangeA.ToString()); Assert.Equal("Z", op.ValueA); }