public void Stroke_DashTest() { StrokeStyle target = new StrokeStyle(); //Default PDFDash expected = PDFDash.None; PDFDash actual = target.Dash; Assert.AreEqual(expected, actual); // Set value expected = new PDFDash(new int[] { 1, 2, 3 }, 7); target.Dash = expected; actual = target.Dash; Assert.AreEqual(expected, actual); //Change Value expected = new PDFDash(new int[] { 2, 3, 4 }, 10); target.Dash = expected; actual = target.Dash; Assert.AreEqual(expected, actual); // Remove Value expected = PDFDash.None; target.RemoveDash(); actual = target.Dash; Assert.AreEqual(expected, actual); }
public void Equals_Test1() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); PDFNumber[] pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0 }; PDFNumber len2 = (PDFNumber)3.0; PDFDash target2 = new PDFDash(pattern2, len2); bool actual; actual = target.Equals(target2); Assert.IsTrue(actual); pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0 }; len2 = (PDFNumber)4.0; // changed phase target2 = new PDFDash(pattern2, len2); actual = target.Equals(target2); Assert.IsFalse(actual); pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)1.0 }; //changed number len2 = (PDFNumber)3.0; target2 = new PDFDash(pattern2, len2); actual = target.Equals(target2); Assert.IsFalse(actual); pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0, (PDFNumber)3.0 }; // Added number len2 = (PDFNumber)3.0; target2 = new PDFDash(pattern2, len2); actual = target.Equals(target2); Assert.IsFalse(actual); }
public static bool TryParseDashes(string all, out PDFDash dash) { if (string.IsNullOrEmpty(all)) { dash = null; return(false); } else if (all.IndexOf(" ") > 0) { var each = all.Split(' '); List <int> parsed = new List <int>(each.Length); foreach (var item in each) { if (ParseInteger(item, out int i)) { parsed.Add(i); } } dash = new PDFDash(parsed.ToArray(), 0); return(true); } else if (ParseInteger(all, out int i)) { dash = new PDFDash(new int[] { i }, 0); return(true); } else { dash = null; return(false); } }
public void Phase_Test() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); Assert.AreEqual(target.Phase, (PDFNumber)len); }
public void PDFDashConstructor_Test2() { PDFDash target = new PDFDash(); //empty constructor - should result in [] 0 - solid line Assert.IsNotNull(target.Pattern); Assert.AreEqual(target.Pattern.Length, 0); Assert.AreEqual(target.Phase, (PDFNumber)0); }
public void PDFDashConstructor_Test1() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); Assert.IsNotNull(target.Pattern); Assert.AreEqual(target.Pattern.Length, 2); Assert.AreEqual(target.Pattern[0], (PDFNumber)pattern[0]); Assert.AreEqual(target.Pattern[1], (PDFNumber)pattern[1]); Assert.AreEqual(target.Phase, (PDFNumber)len); }
public void PDFDashConstructor_Test() { PDFNumber[] pattern = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0 }; PDFNumber len = (PDFNumber)3.0; PDFDash target = new PDFDash(pattern, len); Assert.IsNotNull(target.Pattern); Assert.AreEqual(target.Pattern.Length, 2); Assert.AreEqual(target.Pattern[0], pattern[0]); Assert.AreEqual(target.Pattern[1], pattern[1]); Assert.AreEqual(target.Phase, len); }
public void Pattern_Test() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); Assert.AreEqual(target.Pattern.Length, pattern.Length); for (int i = 0; i < pattern.Length; i++) { Assert.AreEqual(target.Pattern[i], (PDFNumber)pattern[i]); } }
public void ToString_Test() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); string expected = "[1 2] 3"; string actual; actual = target.ToString(); Assert.AreEqual(expected, actual); }
public void Equals_Test() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); object obj = target; bool expected = true; bool actual = target.Equals(obj); Assert.AreEqual(expected, actual); }
public void Dash_Test() { PDFDashPen target = new PDFDashPen(dash); PDFDash expected = dash; PDFDash actual; actual = target.Dash; Assert.AreEqual(actual, expected); expected = new PDFDash(new int[] { 1, 2, 5 }, 4); target.Dash = expected; Assert.AreEqual(expected, target.Dash); }
public void Parse_Test() { string dashpattern = "[1, 2] 3"; PDFDash actual = PDFDash.Parse(dashpattern); int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash expected = new PDFDash(pattern, len); Assert.AreEqual(expected, actual); dashpattern = "[1 3]3"; actual = PDFDash.Parse(dashpattern); Assert.AreNotEqual(expected, actual); }
protected bool DoConvertDashes(StyleBase style, object value, out PDFDash dash) { if (null == value) { dash = null; return(false); } else if (value is PDFDash d) { dash = d; return(true); } else if (TryParseDashes(value.ToString(), out dash)) { return(true); } else { return(false); } }
public void GetHashCode_Test() { int[] pattern = new int[] { 1, 2 }; int len = 3; PDFDash target = new PDFDash(pattern, len); PDFNumber[] pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0 }; PDFNumber len2 = (PDFNumber)3.0; PDFDash target2 = new PDFDash(pattern2, len2); int expected = target.GetHashCode(); int actual = target.GetHashCode(); Assert.AreEqual(expected, actual); actual = target2.GetHashCode(); Assert.AreEqual(expected, actual); pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)1.0 }; //changed number len2 = (PDFNumber)3.0; target2 = new PDFDash(pattern2, len2); actual = target2.GetHashCode(); Assert.AreNotEqual(actual, expected); pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0 }; len2 = (PDFNumber)4.0; //changed number target2 = new PDFDash(pattern2, len2); actual = target2.GetHashCode(); Assert.AreNotEqual(actual, expected); pattern2 = new PDFNumber[] { (PDFNumber)1.0, (PDFNumber)2.0, (PDFNumber)3.0 }; len2 = (PDFNumber)3.0; target2 = new PDFDash(pattern2, len2); actual = target2.GetHashCode(); Assert.AreNotEqual(actual, expected); }
public static bool TryGetLineStyleFromString(string current, out LineType converted, out PDFDash dash) { bool result = false; CSSBorder parsed; dash = null; converted = LineType.None; if (Enum.TryParse <CSSBorder>(current, true, out parsed)) { switch (parsed) { case CSSBorder.Solid: case CSSBorder.Groove: case CSSBorder.Ridge: case CSSBorder.Inset: case CSSBorder.Outset: case CSSBorder.Double: converted = LineType.Solid; result = true; break; case CSSBorder.Dotted: converted = LineType.Dash; dash = DottedDashPattern; result = true; break; case CSSBorder.Dashed: converted = LineType.Dash; dash = DashedDashPattern; result = true; break; case CSSBorder.None: case CSSBorder.Hidden: converted = LineType.None; result = true; break; default: converted = LineType.None; result = true; break; } } return(result); }
public void Stroke_CreatePenTest() { StrokeStyle target = new StrokeStyle(); //No values PDFPen expected = null; PDFPen actual = target.CreatePen(); Assert.IsNull(actual); //Zero width target.Width = PDFUnit.Empty; actual = target.CreatePen(); Assert.IsNull(actual); //Solid pen expected = new PDFSolidPen(PDFColors.Purple, 10); target.Color = PDFColors.Purple; target.Width = 10; actual = target.CreatePen(); AssertPensAreEqual(expected, actual); //Mitres target.Mitre = 20; expected.MitreLimit = 20; actual = target.CreatePen(); AssertPensAreEqual(expected, actual); //Line Caps target.LineCap = LineCaps.Projecting; expected.LineCaps = LineCaps.Projecting; actual = target.CreatePen(); AssertPensAreEqual(expected, actual); //Line Join target.LineJoin = LineJoin.Bevel; expected.LineJoin = LineJoin.Bevel; actual = target.CreatePen(); AssertPensAreEqual(expected, actual); // Opacity target.Opacity = 0.4; expected.Opacity = 0.4; actual = target.CreatePen(); AssertPensAreEqual(expected, actual); // Dash PDFDash dash = new PDFDash(new int[] { 4, 5, 6 }, 10); expected = new PDFDashPen(dash); ((PDFSolidPen)expected).Color = PDFColors.Lime; expected.Width = 8; target = new StrokeStyle(); target.Dash = dash; target.Width = 8; target.Color = PDFColors.Lime; actual = target.CreatePen(); AssertPensAreEqual(expected, actual); }