public void Event() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); Event e = eventDB.GetEvent(); Assert.AreEqual(e.title, ""); Assert.AreEqual(e.notes, null); Assert.AreEqual(e.mapType, MapType.None); Event e2 = new Event(); e2.title = "Hello"; e2.notes = "These are my notes"; e2.mapType = MapType.OCAD; e2.mapFileName = "C:\\hello.ocad"; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e2); undomgr.EndCommand(198); e = eventDB.GetEvent(); Assert.AreEqual(e2, e); }
public void RoundTripEvent() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); Event e = new Event(); e.title = "Hello"; e.notes = "These are my notes"; e.mapType = MapType.OCAD; e.mapFileName = "C:\\hello.ocad"; e.mapScale = 14000; e.allControlsPrintScale = 10000; e.allControlsDescKind = DescriptionKind.SymbolsAndText; e.printArea = new PrintArea(false, false, new RectangleF(50, 70, 200, 300)); e.punchcardFormat.boxesAcross = 7; e.punchcardFormat.boxesDown = 5; e.punchcardFormat.leftToRight = false; e.punchcardFormat.topToBottom = true; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput1_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput1_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); Assert.AreEqual(7, e.punchcardFormat.boxesAcross); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Hi"; e.notes = null; e.mapType = MapType.None; e.mapFileName = null; e.courseAppearance.purpleColorBlend = true; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput2_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput2_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Hi"; e.notes = null; e.mapType = MapType.Bitmap; e.mapFileName = TestUtil.GetTestFile("eventdb\\maps\\testoutput3.jpg"); e.mapScale = 12000; e.mapDpi = 330; e.allControlsPrintScale = 7500; e.allControlsDescKind = DescriptionKind.Text; e.descriptionLangId = "bg"; e.courseAppearance.useOcadOverprint = true; e.courseAppearance.itemScaling = ItemScaling.RelativeTo15000; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput3_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput3_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Hi"; e.notes = null; e.mapType = MapType.None; e.mapFileName = null; e.mapScale = 12000; e.mapDpi = 330; e.allControlsPrintScale = 7500; e.allControlsDescKind = DescriptionKind.Text; e.courseAppearance.lineWidth = 1.3F; e.courseAppearance.controlCircleSize = 0.9F; e.courseAppearance.centerDotDiameter = 0.53F; e.courseAppearance.numberHeight = 1.1F; e.courseAppearance.numberBold = true; e.courseAppearance.numberOutlineWidth = 0.5F; e.courseAppearance.autoLegGapSize = 2.75F; e.courseAppearance.useDefaultPurple = false; e.courseAppearance.purpleC = 0.4F; e.courseAppearance.purpleM = 0.5F; e.courseAppearance.purpleY = 0.6F; e.courseAppearance.purpleK = 0.74F; e.courseAppearance.itemScaling = ItemScaling.RelativeToMap; e.courseAppearance.descriptionsPurple = true; e.courseAppearance.mapStandard = "2017"; e.descriptionStandard = "2018"; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput5_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput5_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Mr. Event"; e.notes = null; e.mapType = MapType.OCAD; e.mapFileName = TestUtil.GetTestFile("eventdb\\My Map-File.ocad"); e.ignoreMissingFonts = true; List <SymbolText> texts = new List <SymbolText>(); SymbolText text1 = new SymbolText(), text2 = new SymbolText(), text3 = new SymbolText(); text1.Lang = "en"; text1.Gender = ""; text1.Plural = false; text1.Text = "man-made & cool object"; text2.Lang = "en"; text2.Gender = ""; text2.Plural = true; text2.Text = "man-made & cool objects"; text3.Lang = "bg"; text3.Gender = "masculine"; text3.Plural = false; text3.Text = "bulgarish mm"; texts.Add(text1); texts.Add(text2); texts.Add(text3); e.customSymbolText["6.1"] = texts; texts = new List <SymbolText>(); text1.Lang = "en"; text1.Gender = ""; text1.Plural = false; text1.Text = "boopsie"; text1.Case = ""; texts.Add(text1); e.customSymbolText["6.2"] = texts; e.customSymbolKey["6.2"] = true; e.customSymbolKey["6.1"] = false; e.courseAppearance.mapStandard = "2000"; e.descriptionStandard = "2004"; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput4_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput4_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); }
public void ComputeStraightLineControlDistance() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); ControlPoint control1, control2, control3; Leg leg1; Event ev = new Event(); control1 = new ControlPoint(ControlPointKind.Normal, "31", new PointF(4.5F, -10.1F)); control2 = new ControlPoint(ControlPointKind.Normal, "32", new PointF(-6.8F, 14.1F)); control3 = new ControlPoint(ControlPointKind.Normal, "33", new PointF(-12.8F, 32.9F)); undomgr.BeginCommand(123, "Add controls"); Id<ControlPoint> id1 = eventDB.AddControlPoint(control1); Id<ControlPoint> id2 = eventDB.AddControlPoint(control2); Id<ControlPoint> id3 = eventDB.AddControlPoint(control3); leg1 = new Leg(id1, id2); leg1.bends = new PointF[] { new PointF(7, 8), new PointF(10, 14) }; Id<Leg> legId = eventDB.AddLeg(leg1); ev.mapScale = 15000; eventDB.ChangeEvent(ev); undomgr.EndCommand(123); float length = QueryEvent.ComputeStraightLineControlDistance(eventDB, id1, id2); Assert.AreEqual(400.62F, length, 0.01F); // Doesn't take bend in leg into account! length = QueryEvent.ComputeStraightLineControlDistance(eventDB, id3, id2); Assert.AreEqual(296.01F, length, 0.01F); }
public void ComputeLegLengthBends() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); ControlPoint control1, control2; Leg leg1; Event ev = new Event(); control1 = new ControlPoint(ControlPointKind.Normal, "31", new PointF(4.5F, -10.1F)); control2 = new ControlPoint(ControlPointKind.Normal, "32", new PointF(-6.8F, 14.1F)); undomgr.BeginCommand(123, "Add controls"); Id<ControlPoint> id1 = eventDB.AddControlPoint(control1); Id<ControlPoint> id2 = eventDB.AddControlPoint(control2); leg1 = new Leg(id1, id2); leg1.bends = new PointF[] { new PointF(7, 8), new PointF(10, 14) }; Id<Leg> legId = eventDB.AddLeg(leg1); ev.mapScale = 15000; eventDB.ChangeEvent(ev); undomgr.EndCommand(123); float length = QueryEvent.ComputeLegLength(eventDB, id1, id2, legId); Assert.AreEqual(626.7, length, 0.01); SymPath path = QueryEvent.GetLegPath(eventDB, id1, id2); Assert.AreEqual(new SymPath(new PointF[] { new PointF(4.5F, -10.1F), new PointF(7, 8), new PointF(10, 14), new PointF(-6.8F, 14.1F) }), path); }
public void ComputeFlaggedLegLength() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); ControlPoint control1, control2; Leg leg1; Event ev = new Event(); control1 = new ControlPoint(ControlPointKind.Normal, "31", new PointF(4F, -10F)); control2 = new ControlPoint(ControlPointKind.Normal, "32", new PointF(-3F, 14F)); undomgr.BeginCommand(123, "Add controls"); Id<ControlPoint> id1 = eventDB.AddControlPoint(control1); Id<ControlPoint> id2 = eventDB.AddControlPoint(control2); leg1 = new Leg(id1, id2); leg1.bends = new PointF[] { new PointF(6, 3), new PointF(7, 8), new PointF(10, 14) }; Id<Leg> legId = eventDB.AddLeg(leg1); // distances. 13.153, 5.099, 6.708, 13.00 * 15000 ev.mapScale = 15000; eventDB.ChangeEvent(ev); undomgr.EndCommand(123); float length = QueryEvent.ComputeFlaggedLegLength(eventDB, id1, id2, legId); Assert.AreEqual(569.4, length, 0.01); undomgr.BeginCommand(123, "Change leg"); leg1.flagging = FlaggingKind.All; eventDB.ReplaceLeg(legId, leg1); undomgr.EndCommand(123); length = QueryEvent.ComputeFlaggedLegLength(eventDB, id1, id2, legId); Assert.AreEqual(569.4, length, 0.01); undomgr.BeginCommand(123, "Change leg"); leg1.flagging = FlaggingKind.Begin; leg1.flagStartStop = new PointF(7, 8); eventDB.ReplaceLeg(legId, leg1); undomgr.EndCommand(123); length = QueryEvent.ComputeFlaggedLegLength(eventDB, id1, id2, legId); Assert.AreEqual(273.78, length, 0.01); undomgr.BeginCommand(123, "Change leg"); leg1.flagging = FlaggingKind.End; eventDB.ReplaceLeg(legId, leg1); undomgr.EndCommand(123); length = QueryEvent.ComputeFlaggedLegLength(eventDB, id1, id2, legId); Assert.AreEqual(295.62, length, 0.01); }
public void RoundTripEvent() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); Event e = new Event(); e.title = "Hello"; e.notes = "These are my notes"; e.mapType = MapType.OCAD; e.mapFileName = "C:\\hello.ocad"; e.mapScale = 14000; e.allControlsPrintScale = 10000; e.allControlsDescKind = DescriptionKind.SymbolsAndText; e.printArea = new PrintArea(false, false, new RectangleF(50, 70, 200, 300)); e.punchcardFormat.boxesAcross = 7; e.punchcardFormat.boxesDown = 5; e.punchcardFormat.leftToRight = false; e.punchcardFormat.topToBottom = true; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput1_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput1_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); Assert.AreEqual(7, e.punchcardFormat.boxesAcross); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Hi"; e.notes = null; e.mapType = MapType.None; e.mapFileName = null; e.courseAppearance.purpleColorBlend = true; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput2_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput2_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Hi"; e.notes = null; e.mapType = MapType.Bitmap; e.mapFileName = TestUtil.GetTestFile("eventdb\\maps\\testoutput3.jpg"); e.mapScale = 12000; e.mapDpi = 330; e.allControlsPrintScale = 7500; e.allControlsDescKind = DescriptionKind.Text; e.descriptionLangId = "bg"; e.courseAppearance.useOcadOverprint = true; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput3_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput3_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Hi"; e.notes = null; e.mapType = MapType.None; e.mapFileName = null; e.mapScale = 12000; e.mapDpi = 330; e.allControlsPrintScale = 7500; e.allControlsDescKind = DescriptionKind.Text; e.courseAppearance.lineWidth = 1.3F; e.courseAppearance.controlCircleSize = 0.9F; e.courseAppearance.centerDotDiameter = 0.53F; e.courseAppearance.numberHeight = 1.1F; e.courseAppearance.numberBold = true; e.courseAppearance.numberOutlineWidth = 0.5F; e.courseAppearance.autoLegGapSize = 2.75F; e.courseAppearance.useDefaultPurple = false; e.courseAppearance.purpleC = 0.4F; e.courseAppearance.purpleM = 0.5F; e.courseAppearance.purpleY = 0.6F; e.courseAppearance.purpleK = 0.74F; e.courseAppearance.descriptionsPurple = true; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput5_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput5_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); /* --- */ undomgr.Clear(); eventDB = new EventDB(undomgr); e.title = "Mr. Event"; e.notes = null; e.mapType = MapType.OCAD; e.mapFileName = TestUtil.GetTestFile("eventdb\\My Map-File.ocad"); e.ignoreMissingFonts = true; List<SymbolText> texts = new List<SymbolText>(); SymbolText text1 = new SymbolText(), text2 = new SymbolText(), text3 = new SymbolText(); text1.Lang = "en"; text1.Gender = ""; text1.Plural = false; text1.Text = "man-made & cool object"; text2.Lang = "en"; text2.Gender = ""; text2.Plural = true; text2.Text = "man-made & cool objects"; text3.Lang = "bg"; text3.Gender = "masculine"; text3.Plural = false; text3.Text = "bulgarish mm"; texts.Add(text1); texts.Add(text2); texts.Add(text3); e.customSymbolText["6.1"] = texts; texts = new List<SymbolText>(); text1.Lang = "en"; text1.Gender = ""; text1.Plural = false; text1.Text = "boopsie"; text1.Case = ""; texts.Add(text1); e.customSymbolText["6.2"] = texts; e.customSymbolKey["6.2"] = true; e.customSymbolKey["6.1"] = false; undomgr.BeginCommand(198, "change event"); eventDB.ChangeEvent(e); undomgr.EndCommand(198); eventDB.Save(TestUtil.GetTestFile("eventdb\\testoutput4_temp.xml")); undomgr.Clear(); eventDB = new EventDB(undomgr); eventDB.Load(TestUtil.GetTestFile("eventdb\\testoutput4_temp.xml")); Assert.AreEqual(e, eventDB.GetEvent()); }
public void AutoRenumber2() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); Event ev = new Event(); Id<ControlPoint>[] ids = new Id<ControlPoint>[10]; undomgr.BeginCommand(123, "Add controls"); ids[0] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "64", new PointF())); //64 ids[1] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "69", new PointF())); //69 ids[2] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "67", new PointF())); //67 ids[3] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "71", new PointF())); //71 ids[4] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "73", new PointF())); //65 ids[5] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "61", new PointF())); //62 ids[6] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "66", new PointF())); //63 ids[7] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "60", new PointF())); //60 ids[8] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "70", new PointF())); //70 ev.mapScale = 15000; ev.firstControlCode = 60; ev.disallowInvertibleCodes = true; eventDB.ChangeEvent(ev); ChangeEvent.AutoRenumberControls(eventDB); undomgr.EndCommand(123); Assert.AreEqual("64", eventDB.GetControl(ids[0]).code); Assert.AreEqual("69", eventDB.GetControl(ids[1]).code); Assert.AreEqual("67", eventDB.GetControl(ids[2]).code); Assert.AreEqual("71", eventDB.GetControl(ids[3]).code); Assert.AreEqual("65", eventDB.GetControl(ids[4]).code); Assert.AreEqual("62", eventDB.GetControl(ids[5]).code); Assert.AreEqual("63", eventDB.GetControl(ids[6]).code); Assert.AreEqual("60", eventDB.GetControl(ids[7]).code); Assert.AreEqual("70", eventDB.GetControl(ids[8]).code); }
public void AutoRenumber() { UndoMgr undomgr = new UndoMgr(5); EventDB eventDB = new EventDB(undomgr); Event ev = new Event(); Id<ControlPoint>[] ids = new Id<ControlPoint>[10]; undomgr.BeginCommand(123, "Add controls"); ids[0] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "36", new PointF())); //36 ids[1] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "33", new PointF())); //33 ids[2] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "AB", new PointF())); //40 ids[3] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "34", new PointF())); //34 ids[4] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "31", new PointF())); //35 ids[5] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "51", new PointF())); //39 ids[6] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "37", new PointF())); //37 ids[7] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "38", new PointF())); //38 ids[8] = eventDB.AddControlPoint(new ControlPoint(ControlPointKind.Normal, "FA", new PointF())); //41 ev.mapScale = 15000; ev.firstControlCode = 33; ev.disallowInvertibleCodes = false; eventDB.ChangeEvent(ev); ChangeEvent.AutoRenumberControls(eventDB); undomgr.EndCommand(123); Assert.AreEqual("36", eventDB.GetControl(ids[0]).code); Assert.AreEqual("33", eventDB.GetControl(ids[1]).code); Assert.AreEqual("40", eventDB.GetControl(ids[2]).code); Assert.AreEqual("34", eventDB.GetControl(ids[3]).code); Assert.AreEqual("35", eventDB.GetControl(ids[4]).code); Assert.AreEqual("39", eventDB.GetControl(ids[5]).code); Assert.AreEqual("37", eventDB.GetControl(ids[6]).code); Assert.AreEqual("38", eventDB.GetControl(ids[7]).code); Assert.AreEqual("41", eventDB.GetControl(ids[8]).code); }