aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.UnitTesting/Pulse
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-04-14 17:40:23 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-04-14 17:40:23 +0300
commit34d86579a1f4e3842566b3dd187f9fa5f3838d07 (patch)
treec0467e2408a63d9bffcb4ece4f28ffa642a63f31 /Software/Visual_Studio/Tango.UnitTesting/Pulse
parent5ed60ca1b49fd67ccca9e80be02924050c2ae87a (diff)
downloadTango-34d86579a1f4e3842566b3dd187f9fa5f3838d07.tar.gz
Tango-34d86579a1f4e3842566b3dd187f9fa5f3838d07.zip
Implemented some test methods for pulse.
Diffstat (limited to 'Software/Visual_Studio/Tango.UnitTesting/Pulse')
-rw-r--r--Software/Visual_Studio/Tango.UnitTesting/Pulse/Pulse_TST.cs84
1 files changed, 84 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.UnitTesting/Pulse/Pulse_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/Pulse/Pulse_TST.cs
new file mode 100644
index 000000000..b25a3140b
--- /dev/null
+++ b/Software/Visual_Studio/Tango.UnitTesting/Pulse/Pulse_TST.cs
@@ -0,0 +1,84 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Drawing.Imaging;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core.IO;
+using Tango.Pulse;
+
+namespace Tango.UnitTesting.Pulse
+{
+ [TestClass]
+ [TestCategory("Pulse")]
+ public class Pulse_TST
+ {
+ [TestMethod]
+ public void Validate_Reading_Writing()
+ {
+ String abcFile = Path.Combine(Helper.GetResourcePath(), "Pulse", "ABC.dst");
+
+ TwnFile twnFile = new TwnFile();
+ twnFile.Name = "My design";
+ twnFile.NumberOfCopies = 1;
+ twnFile.MediaID = 0;
+ twnFile.SpoolingMethod = SpoolingMethods.SpoolPerSegment;
+
+ Bitmap thumbnail = new Bitmap(1280, 720);
+ using (Graphics g = Graphics.FromImage(thumbnail))
+ {
+ g.Clear(Color.Transparent);
+ g.DrawString("My design", new Font(new FontFamily("Arial"), 70), Brushes.Red, 1280 / 2, 720 / 2);
+ }
+ twnFile.Thumbnail = thumbnail;
+
+ twnFile.EmbroideryFileFormat = "dst";
+ twnFile.EmbroideryFile = File.ReadAllBytes(abcFile);
+
+ //Add gradient segment.
+ TwnSegment gradientSegment = new TwnSegment();
+ gradientSegment.Length = 10; //10 centimeters.
+ gradientSegment.BrushStops.Add(new TwnStop(255, 0, 0, 0)); //0%
+ gradientSegment.BrushStops.Add(new TwnStop(0, 0, 255, 1)); //100%
+ twnFile.Segments.Add(gradientSegment);
+
+ //Add solid segment.
+ TwnSegment solidSegment = new TwnSegment();
+ solidSegment.Length = 20;
+ solidSegment.BrushStops.Add(new TwnStop(0, 255, 0, 0));
+ twnFile.Segments.Add(solidSegment);
+
+ //Validate reading/writing.
+ using (MemoryStream ms = new MemoryStream())
+ {
+ twnFile.ToStream(ms);
+
+ ms.Position = 0;
+
+ TwnFile twnFile2 = TwnFile.FromStream(ms);
+
+ String serialized = JsonConvert.SerializeObject(twnFile, Formatting.Indented);
+
+ String deserialized = JsonConvert.SerializeObject(twnFile2, Formatting.Indented);
+
+ Assert.AreEqual(serialized, deserialized);
+ }
+ }
+
+ [TestMethod]
+ public void Read_Pulse_Sample_File()
+ {
+ String sampleFile = Path.Combine(Helper.GetResourcePath(), "Pulse", "test.twn");
+ TwnFile twnFile = TwnFile.FromFile(sampleFile);
+ var imgFile = TemporaryManager.Default.CreateFile(".png");
+
+ twnFile.Thumbnail.Save(imgFile, ImageFormat.Png);
+
+ Helper.ShowInExplorer(imgFile);
+ }
+ }
+}