public void GetFragmentHints_EquMovedCoincident_Ok() { IList <YXEditOperation> operations = GetOperations("alpha beta", "alpha x beta"); AnonLayerPart part = new AnonLayerPart { Fragments = new List <AnonFragment> { new AnonFragment("1.1"), new AnonFragment("1.2") } }; IList <LayerHint> fragments = part.GetFragmentHints(operations); Assert.Equal(2, fragments.Count); // 1.1 LayerHint fr = fragments[0]; Assert.Equal("1.1", fr.Location); Assert.Equal(0, fr.ImpactLevel); Assert.Null(fr.EditOperation); // 1.2 fr = fragments[1]; Assert.Equal("1.2", fr.Location); Assert.Equal(2, fr.ImpactLevel); Assert.Equal("mov 1.2 1.3", fr.PatchOperation); Assert.NotNull(fr.Description); }
public void GetFragmentHints_Equ_Ok() { IList <YXEditOperation> operations = GetOperations("alpha beta", "alpha beta"); AnonLayerPart part = new AnonLayerPart { Fragments = new List <AnonFragment> { new AnonFragment("1.1") } }; IList <LayerHint> fragments = part.GetFragmentHints(operations); Assert.Single(fragments); // 1.1 LayerHint fr = fragments[0]; Assert.Equal("1.1", fr.Location); Assert.Equal(0, fr.ImpactLevel); Assert.Null(fr.EditOperation); }
public void GetFragmentHints_DelCoincident_Ok() { IList <YXEditOperation> operations = GetOperations("alpha beta", "beta"); AnonLayerPart part = new AnonLayerPart { Fragments = new List <AnonFragment> { new AnonFragment("1.1") } }; IList <LayerHint> fragments = part.GetFragmentHints(operations); Assert.Single(fragments); // 1.1 LayerHint fr = fragments[0]; Assert.Equal("1.1", fr.Location); Assert.Equal(2, fr.ImpactLevel); Assert.Equal(operations[0].ToString(), fr.EditOperation); Assert.Equal("del 1.1", fr.PatchOperation); }
public void GetFragmentHints_RepOverlapOrCoincident_Ok(string loc) { IList <YXEditOperation> operations = GetOperations("alpha beta", "alpha x"); AnonLayerPart part = new AnonLayerPart { Fragments = new List <AnonFragment> { new AnonFragment(loc) } }; IList <LayerHint> fragments = part.GetFragmentHints(operations); Assert.Single(fragments); LayerHint fr = fragments[0]; Assert.Equal(loc, fr.Location); Assert.Equal(1, fr.ImpactLevel); Assert.Equal(operations[1].ToString(), fr.EditOperation); Assert.Null(fr.PatchOperation); }
public void GetFragmentHints_DelOverlapping_Ok() { IList <YXEditOperation> operations = GetOperations("alpha beta", "beta"); AnonLayerPart part = new AnonLayerPart { Fragments = new List <AnonFragment> { new AnonFragment("1.1-1.2") } }; IList <LayerHint> fragments = part.GetFragmentHints(operations); Assert.Single(fragments); // 1.1-1.2 LayerHint fr = fragments[0]; Assert.Equal("1.1-1.2", fr.Location); Assert.Equal(1, fr.ImpactLevel); Assert.Equal(operations[1].ToString(), fr.EditOperation); Assert.Null(fr.PatchOperation); }