public void AddAndThenEditLinks() { // add a couple links, take count // then edit one of the early links a few times // get the link into a subpanel and make the counts are as expected _TestSingleTon.Instance._SetupForLayoutPanelTests(); // _SetupForLayoutPanelTests (); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); // in this test we don't use the subpanel but just have it here for fun FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panel.AddNote(panelA); panelA.CreateParent(panel); panel.SaveLayout(); System.Collections.Generic.List <string> linkstome = MasterOfLayouts.ReciprocalLinks("mynewpanel"); Assert.AreEqual(0, linkstome.Count); NoteDataXML_LinkNote link = new NoteDataXML_LinkNote(); panel.AddNote(link); link.CreateParent(panel); link.SetLink("mynewpanel.thisguid1"); panel.SaveLayout(); linkstome = MasterOfLayouts.ReciprocalLinks("mynewpanel"); Assert.AreEqual(1, linkstome.Count); // now edit the existing link link.SetLink("mynewpanel.thisguid2"); panel.SaveLayout(); Assert.AreEqual(1, linkstome.Count); // the counts should remain the same }
public void BuildReciprocalLinks() { _TestSingleTon.Instance._SetupForLayoutPanelTests(); // _SetupForLayoutPanelTests (); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); // #2 panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); panel.NewLayout("mynewpanel2", true, null); basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); NoteDataXML_LinkNote note = new NoteDataXML_LinkNote(); panel.AddNote(note); note.CreateParent(panel); note.SetLink("mynewpanel.thisguid1"); panel.SaveLayout(); System.Collections.Generic.List <string> linkstome = MasterOfLayouts.ReciprocalLinks("mynewpanel2"); Assert.AreEqual(0, linkstome.Count); linkstome = MasterOfLayouts.ReciprocalLinks("mynewpanel"); Assert.AreEqual(1, linkstome.Count); }
public void AddLinkToSubpanel() { // get the link into a subpanel and make the counts are as expected _TestSingleTon.Instance._SetupForLayoutPanelTests(); // _SetupForLayoutPanelTests (); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panel.AddNote(panelA); panelA.CreateParent(panel); panel.SaveLayout(); System.Collections.Generic.List <string> linkstome = MasterOfLayouts.ReciprocalLinks("mynewpanel"); Assert.AreEqual(0, linkstome.Count); NoteDataXML_LinkNote link = new NoteDataXML_LinkNote(); panelA.AddNote(link); link.CreateParent(panelA.GetPanelsLayout()); link.SetLink("mynewpanel.thisguid1"); panel.SaveLayout(); linkstome = MasterOfLayouts.ReciprocalLinks("mynewpanel"); Assert.AreEqual(1, linkstome.Count); }
public void LayoutShouldNotExist() { _setupforlayoutests(); int count = 25; //FakeLayoutDatabase layout = new FakeLayoutDatabase ("testguid"); LayoutPanel layoutPanel = new LayoutPanel(CoreUtilities.Constants.BLANK, false); layoutPanel.NewLayout("testguid", true, null); NoteDataXML note = new NoteDataXML(); for (int i = 0; i < count; i++) { note.Caption = "boo" + i.ToString(); layoutPanel.AddNote(note); note.CreateParent(layoutPanel); } // layout.SaveTo(); no save, so note should not exist Assert.False(MasterOfLayouts.ExistsByGUID("testguid")); }
public void TestExistsByGUID() { _TestSingleTon.Instance._SetupForLayoutPanelTests(); // _SetupForLayoutPanelTests (); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); Assert.False(MasterOfLayouts.ExistsByGUID("mynewpanel2")); Assert.True(MasterOfLayouts.ExistsByGUID("mynewpanel")); }
public void TestDefaultHeightAndWidth() { // nest several panels _SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML test = new NoteDataXML(425, 380); test.GuidForNote = "thisguid1"; test.Caption = "note1"; panel.AddNote(test); test.CreateParent(panel); panel.SaveLayout(); Assert.AreEqual(test.Height, 425); Assert.AreEqual(test.Width, 380); }
public void DeleteTests() { // nest several panels //_SetupForLayoutPanelTests (); _TestSingleTon.Instance._SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panelA.GuidForNote = "panela"; panel.AddNote(panelA); panelA.CreateParent(panel); FAKE_NoteDataXML_Text textNote = new FAKE_NoteDataXML_Text(); panelA.AddNote(textNote); textNote.CreateParent(panelA.GetPanelsLayout()); textNote.Caption = "My text"; textNote.GetRichTextBox().Text = "Hello there."; panel.SaveLayout(); Assert.AreEqual(2, MasterOfLayouts.Count(true)); Assert.True(MasterOfLayouts.ExistsByGUID("mynewpanel")); MasterOfLayouts.DeleteLayout("mynewpanel"); Assert.False(MasterOfLayouts.ExistsByGUID("mynewpanel")); Assert.AreEqual(0, MasterOfLayouts.Count(true)); }
public void SaveAndLoadStressLoad() { System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); int linktable = 1; int extranodeadded = 1; _w.output("this is a slow test. 6 minutes?"); int count = 200; //FakeLayoutDatabase layout = new FakeLayoutDatabase ("testguid"); LayoutPanel layoutPanel = new LayoutPanel(CoreUtilities.Constants.BLANK, false); layoutPanel.NewLayout("testguid", true, null); form.Controls.Add(layoutPanel); form.Show(); NoteDataXML note = new NoteDataXML(); for (int i = 0; i < count; i++) { note.Caption = "boo" + i.ToString(); layoutPanel.AddNote(note); note.CreateParent(layoutPanel); } //_w.output(String.Format ("{0} Notes in Layout before save", layout.GetNotes().Count.ToString())); layoutPanel.SaveLayout(); //_w.output(String.Format ("{0} Objects Saved", layout.ObjectsSaved().ToString())); //layoutPanel = new FakeLayoutDatabase ("testguid"); layoutPanel = new LayoutPanel(CoreUtilities.Constants.BLANK, false); layoutPanel.LoadLayout("testguid", false, null); //layoutPanel.LoadFrom(layoutPanel); //_w.output(String.Format ("{0} Objects Loaded", layout.GetNotes().Count)); //NOT DONE YET Assert.AreEqual(count + linktable + extranodeadded, layoutPanel.GetAllNotes().Count); }
public void LayoutExists() { System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _w.output("1"); _TestSingleTon.Instance._SetupForLayoutPanelTests(); _w.output("2"); int count = 25; //FakeLayoutDatabase layout = new FakeLayoutDatabase ("testguid"); LayoutPanel layoutPanel = new LayoutPanel(CoreUtilities.Constants.BLANK, false); layoutPanel.NewLayout("testguid", true, null); NoteDataXML note = new NoteDataXML(); for (int i = 0; i < count; i++) { note.Caption = "boo" + i.ToString(); layoutPanel.AddNote(note); note.CreateParent(layoutPanel); } layoutPanel.SaveLayout(); layoutPanel.Dispose(); Assert.True(MasterOfLayouts.ExistsByGUID("testguid")); }
public void SetCurrentTextNoteAndDetectThisInParentLayouts() { // nest several panels _TestSingleTon.Instance._SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panel.AddNote(panelA); panelA.CreateParent(panel); basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid2"; basicNote.Caption = "note2"; panelA.AddNote(basicNote); // Panel A has 1 note basicNote.CreateParent(panelA.myLayoutPanel()); // DO need to call it when adding notes like this (to a subpanel, I think) panel.SaveLayout(); FAKE_NoteDataXML_Panel panelB = new FAKE_NoteDataXML_Panel(); panelB.Caption = "PanelB"; panelA.AddNote(panelB); panelB.CreateParent(panelA.myLayoutPanel()); FAKE_NoteDataXML_Panel panelC = new FAKE_NoteDataXML_Panel(); panelC.Caption = "PanelC"; panelB.AddNote(panelC); panelC.CreateParent(panelB.myLayoutPanel()); FAKE_NoteDataXML_Panel panelD = new FAKE_NoteDataXML_Panel(); panelD.Caption = "PanelD"; panelC.AddNote(panelC); panelD.CreateParent(panelC.myLayoutPanel()); //Add a text note FAKE_NoteDataXML_Text texter = new FAKE_NoteDataXML_Text(); panelD.AddNote(texter); texter.CreateParent(panelD.myLayoutPanel()); // Set this text note as active texter.SetActive(); // Go back to each of the owner panels and make sure their CurrentTextNote is equal to this one Assert.AreEqual(panelD.myLayoutPanel().CurrentTextNote, texter); Assert.AreEqual(panelC.myLayoutPanel().CurrentTextNote, texter); Assert.AreEqual(panelB.myLayoutPanel().CurrentTextNote, texter); Assert.AreEqual(panelA.myLayoutPanel().CurrentTextNote, texter); Assert.AreEqual(panel.CurrentTextNote, texter); }
public void AdvancedSearchingForNotesTests() { _TestSingleTon.Instance._SetupForLayoutPanelTests(); //_SetupForLayoutPanelTests (); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); FAKE_NoteDataXML_Panel DiversionPanel = new FAKE_NoteDataXML_Panel(); DiversionPanel.Caption = "WeAdd this to make the FindFail later by having an empty layout that sends buggy searches down the wrong corridor"; panel.AddNote(DiversionPanel); DiversionPanel.CreateParent(panel); FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panel.AddNote(panelA); panelA.CreateParent(panel); basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid2"; basicNote.Caption = "note2"; panelA.AddNote(basicNote); // Panel A has 1 note basicNote.CreateParent(panelA.myLayoutPanel()); // DO need to call it when adding notes like this (to a subpanel, I think) panel.SaveLayout(); NoteDataInterface finder = null; finder = panel.FindNoteByGuid("thisguid1"); Assert.NotNull(finder.ParentNotePanel); _w.output("C: " + finder.Caption); Assert.AreEqual(finder.Caption, "note1"); Assert.NotNull(finder.ParentNotePanel); finder = null; // this note is on a subpanel finder = panel.FindNoteByGuid("thisguid2"); Assert.NotNull(finder); Assert.AreEqual(finder.Caption, "note2"); finder = panel.GoToNote(finder); // added this February 2013 because this code stopped finding notes within subpanels for some reason Assert.NotNull(finder.ParentNotePanel); // find notes inside of notes with the GUI code and such // now test the fast search function NoteDataInterface foundNote2 = panel.GetNoteOnSameLayout(finder.GuidForNote, false); Assert.NotNull(foundNote2); Assert.AreEqual(finder.GuidForNote, foundNote2.GuidForNote); Assert.NotNull(foundNote2.ParentNotePanel); }
public void TestMovingNotes() { _w.output("START"); System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); form.Controls.Add(panel); form.Show(); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.Caption = "note1"; panel.AddNote(basicNote); //basicNote.CreateParent(panel); //panel.MoveNote( // create four panels A and B at root level. C inside A. D inside C FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panelA.GuidForNote = "panela"; FAKE_NoteDataXML_Panel panelB = new FAKE_NoteDataXML_Panel(); panelB.Caption = "PanelB"; panelB.GuidForNote = "panelb"; FAKE_NoteDataXML_Panel panelC = new FAKE_NoteDataXML_Panel(); panelC.Caption = "PanelC"; panelC.GuidForNote = "panelc"; _w.output("panels made"); panel.AddNote(panelA); // 1 panel.AddNote(panelB); // 2 //panelA.CreateParent(panel); should not need to call this when doing LayoutPanel.AddNote because it calls CreateParent insid eof it basicNote = new NoteDataXML(); basicNote.Caption = "note2"; panelA.AddNote(basicNote); // Panel A has 1 note basicNote.CreateParent(panelA.myLayoutPanel()); // DO need to call it when adding notes like this (to a subpanel, I think) panel.SaveLayout(); Assert.AreEqual(1, panelA.CountNotes(), "Panel A holds one note"); // So this counts as + 2 // so we have (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6 _w.output("STARTCOUNT"); Assert.AreEqual(6, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); _w.output("ENDCOUNT"); //COUNT SHOULD BE: panelA has 1 note //COUNT Total should be: Default Note + Note + PanelA + Panel B + (Note Inside Panel A) = 5 panelA.AddNote(panelC); // panelC is now part of Panel 2 panelC.CreateParent(panelA.myLayoutPanel()); panel.SaveLayout(); // NEED TO SAVE before conts will be accurated //COUNT SHOULD BE: panelA has 2 notes (Panel C + the Note I add) _w.output("START COUNT SUB"); Assert.AreEqual(2, panelA.CountNotes(), "two notes in panelA"); _w.output("END COUNT SUB"); Assert.AreEqual(7, panel.CountNotes(), "total of SEVEN notes"); _w.output("START COUNT SUB2"); Assert.AreEqual(0, panelB.CountNotes(), "0 count worked?"); _w.output("END COUNT SUB2"); //COUNT Total should be: Default Note + Note + PanelA + Panel B + (NoteInside Panel A) + (Panel C Inside Panel A) = 6 FAKE_NoteDataXML_Panel panelD = new FAKE_NoteDataXML_Panel(); panelD.Caption = "PanelD"; panelC.AddNote(panelD); // panelC which is inside PANELA now adds panelD (which is empty?) panelD.CreateParent(panelC.myLayoutPanel()); panel.SaveLayout(); _w.output("START COUNT SUB3"); Assert.AreEqual(0, panelD.CountNotes(), "No notes in panelD"); _w.output("START COUNT SUB3"); /* * NoteDataXML_RichText extra = new NoteDataXML_RichText(); * panelD.AddNote (extra); //this was here only to test that there is an error with counting EMPTY panels * extra.CreateParent(panelD.myLayoutPanel()); * panel.SaveLayout();*/ // update on ERROR: Every note in D is being counted DOUBLE // weird error: If a panel is empty it will register as +1 (i.e, counted twice) // PanelC and PanelA are adding this note // AddChildrenToList, TYPE: TEMPORARY, scanning children...47d43f01-a031-42d1-8539-bb7ae284a9e1 from PanelC // AddChildrenToList, TYPE: TEMPORARY, scanning children...47d43f01-a031-42d1-8539-bb7ae284a9e1 from PanelA //OK: Every note is claiming ownership of the TEXT NOTE, which is the problem, I think. _w.output("START COUNT SUB4"); Assert.AreEqual(1, panelC.CountNotes(), "1 notes in panelC"); _w.output("E COUNT SUB4"); Assert.AreEqual(0, panelD.CountNotes(), "1 note in panelD"); _w.output("_------------------------------"); _w.output("panel.CountNotes=" + panel.CountNotes()); _w.output("_------------------------------"); Assert.AreEqual(8, panel.CountNotes(), "We have only added one panel so we should be up to 8"); Assert.AreEqual(3, panelA.CountNotes()); Assert.AreEqual(8, panel.CountNotes(), "number of notes in main panel"); Assert.AreEqual(0, panelB.CountNotes(), "testt"); Assert.AreEqual(1, panelC.CountNotes(), "testt"); // add a note to panel d (we want to make sure this note does not disappear while D is being moved around NoteDataXML noteford = new NoteDataXML(); noteford.Caption = "note for d"; panelD.AddNote(noteford); // Move panel D from panelC into PANEL A panelC.myLayoutPanel().MoveNote(panelD.GuidForNote, "up"); panel.SaveLayout(); Assert.AreEqual(4, panelA.CountNotes()); // 4 because I added a note to D which is inside A Assert.AreEqual(9, panel.CountNotes()); Assert.AreEqual(0, panelC.CountNotes()); Assert.AreEqual(0, panelB.CountNotes()); Assert.AreEqual(1, panelD.CountNotes()); // Move panel D from panelA into ROOT panelA.myLayoutPanel().MoveNote(panelD.GuidForNote, "up"); panel.SaveLayout(); Assert.AreEqual(2, panelA.CountNotes()); Assert.AreEqual(9, panel.CountNotes()); Assert.AreEqual(0, panelC.CountNotes()); // ** FINE HERE _w.output("do c twice, what happens?"); Assert.AreEqual(0, panelC.CountNotes()); Assert.AreEqual(0, panelB.CountNotes()); Assert.AreEqual(1, panelD.CountNotes()); lg.Instance.Loudness = Loud.ACRITICAL; _w.output("START COUNT SUB5"); NoteDataXML_RichText richy = new NoteDataXML_RichText(); richy.GuidForNote = "richy"; panel.AddNote(richy); richy.CreateParent(panel); panel.SaveLayout(); _w.output("do c THRICE, what happens?"); Assert.AreEqual(0, panelC.CountNotes()); _w.output("E COUNT SUB5"); // now move note into A _w.output("move richy FROM PANEL into PanelA (PanelA also holds PanelC). The exact logic seems to be that IN THE FOLLOWING MOVE, PANELA Gets Disposed of??!?"); panel.MoveNote(richy.GuidForNote, panelA.GuidForNote); panel.SaveLayout(); _w.output("do c 4x, what happens?"); Assert.AreEqual(0, panelC.CountNotes()); _w.output("done move richy"); Assert.AreEqual(3, panelA.CountNotes()); Assert.AreEqual(10, panel.CountNotes()); _w.output("countc"); Assert.AreEqual(0, panelC.CountNotes()); // * Jan 19 2013 - brok ehere _w.output("e countc"); _w.output("countb"); Assert.AreEqual(0, panelB.CountNotes()); _w.output("e countb"); _w.output("Panel A Notes " + panelA.CountNotes().ToString()); _w.output("Total Notes " + panel.CountNotes()); // also see if this test or another could replicate the problems I had in previous version with RefhresTabs panel.SaveLayout(); // now do a test to load it panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //form.Controls.Add (panel); //form.Show (); //NOTE: For now remember that htis ADDS 1 Extra notes panel.LoadLayout("mynewpanel", false, null); _w.output("getting notes for " + panel.Caption); System.Collections.ArrayList TheNotes = panel.GetAllNotes(); // System.Collections.Generic.List<NoteDataInterface> list = new System.Collections.Generic.List<NoteDataInterface> (); //list.AddRange ((NoteDataInterface[])TheNotes.ToArray ()); int count = 0; foreach (NoteDataInterface note in TheNotes) { if (note.GuidForNote == CoreUtilities.Links.LinkTable.STICKY_TABLE) { count++; } } // make sure there is only one linktable Assert.AreEqual(1, count); //.NoteDataInterface[] found = (NoteDataInterface)list.Find (NoteDataInterface=>NoteDataInterface.GuidForNote == CoreUtilities.Links.LinkTable.STICKY_TABLE ); // Assert.True (false); }
public void CountSpecificSubType() { //-- do unit tests counting store 6 textboxes and know this (countbytype) System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); int count = 25; // FakeLayoutDatabase layout = new FakeLayoutDatabase ("testguid"); FAKE_LayoutPanel layoutPanel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); layoutPanel.NewLayout("testguid", true, null); // jan152013 - tweak to allow this to work with new system without rewriting all the tstings in LayoutDatabasetest LayoutDatabase layout = layoutPanel.GetLayoutDatabase(); form.Controls.Add(layoutPanel); form.Show(); NoteDataXML note = new NoteDataXML(); for (int i = 0; i < count; i++) { note.Caption = "boo" + i.ToString(); layout.Add(note); note.CreateParent(layoutPanel); } _w.output(String.Format("{0} Notes in Layout before save", layout.GetNotes().Count.ToString())); for (int i = 0; i < 6; i++) { note = new NoteDataXML_RichText(); note.Caption = "richText"; layout.Add(note); note.CreateParent(layoutPanel); } layout.SaveTo(); // _w.output(String.Format ("{0} Objects Saved", layout.ObjectsSaved().ToString())); layout = new FakeLayoutDatabase("testguid"); layout.LoadFrom(layoutPanel); // now count RichText notes int count2 = 0; foreach (NoteDataInterface _note in layout.GetNotes()) { if (_note.GetType() == typeof(NoteDataXML_RichText)) { count2++; } } _w.output(String.Format("{0} Objects Loaded", layout.GetNotes().Count)); // added linktable Assert.AreEqual(7, count2); }
public void TimelineAndTableAlwaysTogether() { _w.output("START"); System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); form.Controls.Add(panel); form.Show(); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.Caption = "note1"; panel.AddNote(basicNote); //basicNote.CreateParent(panel); //panel.MoveNote( // create four panels A and B at root level. C inside A. D inside C FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panelA.GuidForNote = "panela"; FAKE_NoteDataXML_Panel panelB = new FAKE_NoteDataXML_Panel(); panelB.Caption = "PanelB"; panelB.GuidForNote = "panelb"; FAKE_NoteDataXML_Panel panelC = new FAKE_NoteDataXML_Panel(); panelC.Caption = "PanelC"; panelC.GuidForNote = "panelc"; _w.output("panels made"); panel.AddNote(panelA); // 1 panel.AddNote(panelB); // 2 //panelA.CreateParent(panel); should not need to call this when doing LayoutPanel.AddNote because it calls CreateParent insid eof it basicNote = new NoteDataXML(); basicNote.Caption = "note2"; panelA.AddNote(basicNote); // Panel A has 1 note basicNote.CreateParent(panelA.myLayoutPanel()); // DO need to call it when adding notes like this (to a subpanel, I think) panel.SaveLayout(); Assert.AreEqual(1, panelA.CountNotes(), "Panel A holds one note"); // So this counts as + 2 // so we have (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6 _w.output("STARTCOUNT"); Assert.AreEqual(6, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); _w.output("ENDCOUNT"); // add timeline into a PANEL // count 1 row NoteDataXML_Timeline MyTimeLine = new NoteDataXML_Timeline(100, 100); MyTimeLine.Caption = "My Timeline!"; panelA.AddNote(MyTimeLine); MyTimeLine.CreateParent(panelA.GetPanelsLayout()); panel.SaveLayout(); // I needed this save else it would not work? Assert.AreEqual(8, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); string guidOfTimeline = MyTimeLine.GuidForNote; string guidOfTimelineTable = guidOfTimeline + "table"; NoteDataXML_Table FoundTable = (NoteDataXML_Table)panel.FindNoteByGuid(guidOfTimelineTable); Assert.NotNull(FoundTable); Assert.AreEqual(1, FoundTable.RowCount()); FoundTable = null; // move the TABLE associated with the timeline OUT to parent // count 1 row panelA.myLayoutPanel().MoveNote(guidOfTimelineTable, "up"); // And for kicks add another timeline just to see if it messages anytnig up NoteDataXML_Timeline MyTimeLine2 = new NoteDataXML_Timeline(100, 1020); MyTimeLine2.Caption = "My Timeline! #2"; panel.AddNote(MyTimeLine2); panel.SaveLayout(); Assert.AreEqual(10, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); Assert.Null(FoundTable); FoundTable = (NoteDataXML_Table)panel.FindNoteByGuid(guidOfTimelineTable); Assert.NotNull(FoundTable); Assert.AreEqual(1, FoundTable.RowCount()); // move the TABLE into ANOTHER panel // count 1 row _w.output("Moving into panelb now"); panel.MoveNote(guidOfTimelineTable, "panelb"); panel.SaveLayout(); Assert.AreEqual(10, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); _w.output("done counting"); FoundTable = null; Assert.Null(FoundTable); FoundTable = (NoteDataXML_Table)panel.FindNoteByGuid(guidOfTimelineTable); Assert.NotNull(FoundTable); Assert.AreEqual(1, FoundTable.RowCount()); form.Dispose(); }
public void CountPanelsSubType() { System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); //FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); Assert.False(MasterOfLayouts.ExistsByGUID("testlayout")); _w.output("here"); //-- do unit tests counting store 6 textboxes and know this (countbytype) //_setupforlayoutests (); _w.output("here"); int count = 25; // FakeLayoutDatabase layout = new FakeLayoutDatabase ("testguid"); FAKE_LayoutPanel layoutPanel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); layoutPanel.NewLayout("testlayout", false, null); form.Controls.Add(layoutPanel); form.Show(); NoteDataXML note = new NoteDataXML(); for (int i = 0; i < count; i++) { note.Caption = "boo" + i.ToString(); layoutPanel.AddNote(note); note.CreateParent(layoutPanel); } _w.output(String.Format("{0} Notes in Layout before save", layoutPanel.GetAllNotes().Count.ToString())); for (int i = 0; i < 6; i++) { note = new NoteDataXML_Panel(); note.Caption = "Panel"; layoutPanel.AddNote(note); note.CreateParent(layoutPanel); ((NoteDataXML_Panel)note).Add10TestNotes(); } layoutPanel.SaveLayout(); layoutPanel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //_w.output(String.Format ("{0} Objects Saved", layoutPanel.ObjectsSaved().ToString())); layoutPanel.LoadLayout("testlayout", false, null); // layout = new FakeLayoutDatabase ("testguid"); // // layout.LoadFrom(layoutPanel); // now count RichText notes int count2 = 0; int subnotecount = 0; foreach (NoteDataInterface _note in layoutPanel.GetAllNotes()) { if (_note.GetType() == typeof(NoteDataXML_Panel)) { count2++; subnotecount = subnotecount + ((NoteDataXML_Panel)_note).GetChildNotes().Count; } } // total note count should be (once I get GetNotes working on Child Notes = 60 + 6 + 25 = 91 _w.output(String.Format("{0} Objects Loaded", layoutPanel.GetAllNotes().Count)); //NOT DONE YET Assert.AreEqual(6, count2); Assert.AreEqual(60, subnotecount); Assert.AreEqual(count2, layoutPanel.GetAvailableFolders().Count); // had to change because a linktable makes 91 become 92 Assert.AreEqual(92, layoutPanel.GetAllNotes().Count); }
public void TestThatChildInheritsKeywordsAndOtherDetailsOfParent() { System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); form.Controls.Add(panel); form.Show(); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.Caption = "note1"; panel.AddNote(basicNote); //basicNote.CreateParent(panel); //panel.MoveNote( // create four panels A and B at root level. C inside A. D inside C FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panelA.GuidForNote = "panela"; FAKE_NoteDataXML_Panel panelB = new FAKE_NoteDataXML_Panel(); panelB.Caption = "PanelB"; panelB.GuidForNote = "panelb"; FAKE_NoteDataXML_Panel panelC = new FAKE_NoteDataXML_Panel(); panelC.Caption = "PanelC"; _w.output("panels made"); panel.AddNote(panelA); // 1 panel.AddNote(panelB); // 2 //panelA.CreateParent(panel); should not need to call this when doing LayoutPanel.AddNote because it calls CreateParent insid eof it basicNote = new NoteDataXML(); basicNote.Caption = "note2"; panelA.AddNote(basicNote); // Panel A has 1 note basicNote.CreateParent(panelA.myLayoutPanel()); // DO need to call it when adding notes like this (to a subpanel, I think) panel.SaveLayout(); Assert.AreEqual(1, panelA.CountNotes(), "Panel A holds one note"); // So this counts as + 2 // so we have (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6 Assert.AreEqual(6, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); //COUNT SHOULD BE: panelA has 1 note //COUNT Total should be: Default Note + Note + PanelA + Panel B + (Note Inside Panel A) = 5 panelA.AddNote(panelC); // panelC is now part of Panel 2 panelC.CreateParent(panelA.myLayoutPanel()); panel.SaveLayout(); // NEED TO SAVE before conts will be accurated //COUNT SHOULD BE: panelA has 2 notes (Panel C + the Note I add) Assert.AreEqual(2, panelA.CountNotes(), "two notes in panelA"); Assert.AreEqual(7, panel.CountNotes(), "total of SEVEN notes"); Assert.AreEqual(0, panelB.CountNotes(), "0 count worked?"); // The Preamble Above is just standard creation // Now we want to test adjusting some fields panel.NotesForYou().Section = "thepanelsection"; panel.NotesForYou().Keywords = "fish,fries,in,the,sky"; panel.NotesForYou().Notebook = "freshnote"; panel.NotesForYou().Subtype = "thebestsub"; panel.SaveLayout(); // now reload panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); panel.LoadLayout("mynewpanel", false, null); panelA = null; panelB = null; panelA = (FAKE_NoteDataXML_Panel)panel.FindNoteByGuid("panela"); panelB = (FAKE_NoteDataXML_Panel)panel.FindNoteByGuid("panelb"); Assert.AreEqual(panel.GUID, panelA.GetParent_ParentGuid()); Assert.AreEqual(panel.GUID, panelB.GetParent_ParentGuid()); Assert.AreEqual(2, panelA.CountNotes(), "two notes in panelA"); Assert.AreEqual(7, panel.CountNotes(), "total of SEVEN notes"); Assert.AreEqual(0, panelB.CountNotes(), "0 count worked?"); // just make sure that the Parent itself got the changes we made!! Assert.AreEqual("thepanelsection", panel.NotesForYou().Section); Assert.AreEqual("fish,fries,in,the,sky", panel.NotesForYou().Keywords); Assert.AreEqual("freshnote", panel.NotesForYou().Notebook); Assert.AreEqual("thebestsub", panel.NotesForYou().Subtype); // now test the Children // this should FAIL utnil I write the needed code Assert.AreEqual("thepanelsection", panelA.GetParent_Section()); Assert.AreEqual("thepanelsection", panelB.GetParent_Section()); Assert.AreEqual("fish,fries,in,the,sky", panelA.GetParent_Keywords()); Assert.AreEqual("fish,fries,in,the,sky", panelB.GetParent_Keywords()); Assert.AreEqual("freshnote", panelA.GetParent_Notebook()); Assert.AreEqual("freshnote", panelB.GetParent_Notebook()); Assert.AreEqual("thebestsub", panelA.GetParent_Subtype()); Assert.AreEqual("thebestsub", panelB.GetParent_Subtype()); }
public void MoveNoteOutOfParent_SaveShouldHappenAutomatically() { _w.output("START"); System.Windows.Forms.Form form = new System.Windows.Forms.Form(); _TestSingleTon.Instance._SetupForLayoutPanelTests(); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); LayoutDetails.Instance.CurrentLayout = panel; form.Controls.Add(panel); form.Show(); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); panel.SetCaption("TheMainPanel"); NoteDataXML basicNote = new NoteDataXML(); basicNote.Caption = "note1"; panel.AddNote(basicNote); //basicNote.CreateParent(panel); //panel.MoveNote( // create four panels A and B at root level. C inside A. D inside C FAKE_NoteDataXML_Panel panelA = new FAKE_NoteDataXML_Panel(); panelA.Caption = "PanelA"; panelA.GuidForNote = "panela"; FAKE_NoteDataXML_Panel panelB = new FAKE_NoteDataXML_Panel(); panelB.Caption = "PanelB"; panelB.GuidForNote = "panelb"; FAKE_NoteDataXML_Panel panelC = new FAKE_NoteDataXML_Panel(); panelC.Caption = "PanelC"; panelC.GuidForNote = "panelc"; _w.output("panels made"); panel.AddNote(panelA); // 1 panel.AddNote(panelB); // 2 //panelA.CreateParent(panel); should not need to call this when doing LayoutPanel.AddNote because it calls CreateParent insid eof it basicNote = new NoteDataXML(); basicNote.Caption = "note2"; panelA.AddNote(basicNote); // Panel A has 1 note basicNote.CreateParent(panelA.myLayoutPanel()); // DO need to call it when adding notes like this (to a subpanel, I think) basicNote.BringToFrontAndShow(); NoteDataXML_RichText textNote = new NoteDataXML_RichText(); textNote.Caption = "howdy"; // ((FAKE_LayoutPanel)panelA.GetPanelsLayout()).SetCaption("boohowcrashmenow"); panelA.AddNote(textNote); textNote.CreateParent(panelA.myLayoutPanel()); textNote.BringToFrontAndShow(); textNote.TestEnter(); panelA.GetPanelsLayout().TestForceError(); // the current layout can never be set to a subplayout Assert.AreNotEqual(panelA.GetPanelsLayout(), LayoutDetails.Instance.CurrentLayout, "the current layout can never be set to a subplayout"); panel.SaveLayout(); Assert.AreEqual(2, panelA.CountNotes(), "Panel A holds TWo note"); // So this counts as + 2 // so we have (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6 _w.output("STARTCOUNT"); Assert.AreEqual(7, panel.CountNotes(), "Total notes SHOULD BE 7 : (1 + 1 note on it)panel A + (1+1textnote)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); _w.output("ENDCOUNT"); // now we move basicNote out // WITOUT calling save **** // it should still ahve saved panelA.myLayoutPanel().MoveNote(basicNote.GuidForNote, "up"); Assert.AreEqual(1, panelA.CountNotes(), "Panel A holds 1 note -- because we moved one out"); Assert.AreEqual(7, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); panel = null; panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); panel.LoadLayout("mynewpanel", false, null); //Assert.AreEqual (0, panelA.CountNotes (), "Panel A holds one note"); Assert.AreEqual(7, panel.CountNotes(), "Total notes SHOULD BE 6 : (1 + 1 note on it)panel A + (1)panelB + basicNote +DefaultNote = 5 + (NEW) LinkTable = 6"); }
public void CountSizeOfCombinedTableAfterReciprocalLinks() { _TestSingleTon.Instance._SetupForLayoutPanelTests(); // _SetupForLayoutPanelTests (); FAKE_LayoutPanel panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); //NOTE: For now remember that htis ADDS 1 Extra notes panel.NewLayout("mynewpanel", true, null); NoteDataXML basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); // #2 panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); panel.NewLayout("mynewpanel2", true, null); basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); NoteDataXML_LinkNote note = new NoteDataXML_LinkNote(); panel.AddNote(note); note.CreateParent(panel); note.SetLink("mynewpanel.thisguid1"); panel.SaveLayout(); // #3 panel = new FAKE_LayoutPanel(CoreUtilities.Constants.BLANK, false); panel.NewLayout("mynewpanel3", true, null); basicNote = new NoteDataXML(); basicNote.GuidForNote = "thisguid1"; basicNote.Caption = "note1"; panel.AddNote(basicNote); basicNote.CreateParent(panel); panel.SaveLayout(); note = new NoteDataXML_LinkNote(); panel.AddNote(note); note.CreateParent(panel); note.SetLink("mynewpanel2.thisguid1"); panel.SaveLayout(); Assert.AreEqual(2, Fake_MasterOfLayouts.GetRowCountOfCombinedLinkTableAfterCallToReciprocalLinks()); }