public void MultiParaCut() { var styles = new AssembledStyles(); var root = new RootBoxFdo(styles); var owner = new MockData1(23, 23); var mock1 = new MockData1(23, 23); var mock2 = new MockData1(23, 23); var mock3 = new MockData1(23, 23); owner.InsertIntoObjSeq1(0, mock1); owner.InsertIntoObjSeq1(1, mock2); owner.InsertIntoObjSeq1(2, mock3); mock1.SimpleThree = "This is the"; mock2.SimpleThree = "day that the"; mock3.SimpleThree = "Lord has made"; var engine = new FakeRenderEngine() { Ws = 23, SegmentHeight = 13 }; var factory = new FakeRendererFactory(); factory.SetRenderer(23, engine); var layoutInfo = HookupTests.MakeLayoutInfo(int.MaxValue / 2, m_gm.VwGraphics, 23); PaintTransform ptrans = new PaintTransform(2, 2, 96, 96, 0, 0, 96, 96); MockSite site = new MockSite(); site.m_transform = ptrans; site.m_vwGraphics = m_gm.VwGraphics; root.Site = site; var po = new MockReceiveParagraphOperations(); root.Builder.Show(Display.Of(() => owner.ObjSeq1).Using((bldr, md) => bldr.AddString(() => md.SimpleThree, 23)) .EditParagraphsUsing(po)); var layoutArgs = MakeLayoutInfo(Int32.MaxValue / 2, m_gm.VwGraphics, factory); root.Layout(layoutArgs); int x = FakeRenderEngine.SimulatedWidth("This ") + 2; var location = new Point(x, 8); Clipboard.SetDataObject(""); MouseEventArgs e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCut(), Is.EqualTo(false), "Should not be able to cut"); x = FakeRenderEngine.SimulatedWidth("Lord ") + 2; location = new Point(x, 29); e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseMove(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCut(), Is.EqualTo(true), "Should be able to cut"); root.OnEditCut(); Assert.That(owner.ObjSeq1[0].SimpleThree, Is.EqualTo("This has made")); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo("is the\r\nday that the\r\nLord "), "Selected String should be \"is the\nday that the\nLord \""); }
public void BasicCut() { var styles = new AssembledStyles(); var root = new RootBoxFdo(styles); var mock1 = new MockData1(23, 23); mock1.SimpleThree = "old contents"; var engine = new FakeRenderEngine() { Ws = 23, SegmentHeight = 13 }; var factory = new FakeRendererFactory(); factory.SetRenderer(23, engine); root.Builder.Show(Display.Of(() => mock1.SimpleThree, 23)); var layoutArgs = MakeLayoutInfo(Int32.MaxValue / 2, m_gm.VwGraphics, factory); root.Layout(layoutArgs); PaintTransform ptrans = new PaintTransform(2, 2, 96, 96, 0, 0, 96, 96); MockSite site = new MockSite(); site.m_transform = ptrans; site.m_vwGraphics = m_gm.VwGraphics; root.Site = site; int x = FakeRenderEngine.SimulatedWidth("old ") + 2; var location = new Point(x, 8); Clipboard.SetDataObject(""); Assert.That(root.CanCut(), Is.EqualTo(false), "Should not be able to cut"); root.OnEditCut(); Assert.That(mock1.SimpleThree, Is.EqualTo("old contents"), "Nothing should have changed"); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo(""), "Nothing should have been copied"); MouseEventArgs e = new MouseEventArgs(MouseButtons.Left, 1, 2, location.Y, 0); root.OnMouseDown(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCut(), Is.EqualTo(false), "Should not be able to cut"); e = new MouseEventArgs(MouseButtons.Left, 1, location.X, location.Y, 0); root.OnMouseMove(e, Keys.None, site.m_vwGraphics, site.m_transform); Assert.That(root.CanCut(), Is.EqualTo(true), "Should be able to cut"); root.OnEditCut(); Assert.That(mock1.SimpleThree, Is.EqualTo("contents"), "Selected String should be \"contents\""); Assert.That(Clipboard.GetDataObject().GetData(DataFormats.StringFormat), Is.EqualTo("old "), "Selected String should be \"old \""); }