diff options
Diffstat (limited to 'Software/Visual_Studio/Tango.UnitTesting/TCC')
| -rw-r--r-- | Software/Visual_Studio/Tango.UnitTesting/TCC/TCC Resources/bitmap.bmp | bin | 0 -> 140174 bytes | |||
| -rw-r--r-- | Software/Visual_Studio/Tango.UnitTesting/TCC/TCC_TST.cs | 81 |
2 files changed, 81 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.UnitTesting/TCC/TCC Resources/bitmap.bmp b/Software/Visual_Studio/Tango.UnitTesting/TCC/TCC Resources/bitmap.bmp Binary files differnew file mode 100644 index 000000000..1d48c010b --- /dev/null +++ b/Software/Visual_Studio/Tango.UnitTesting/TCC/TCC Resources/bitmap.bmp diff --git a/Software/Visual_Studio/Tango.UnitTesting/TCC/TCC_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/TCC/TCC_TST.cs new file mode 100644 index 000000000..a96328e8b --- /dev/null +++ b/Software/Visual_Studio/Tango.UnitTesting/TCC/TCC_TST.cs @@ -0,0 +1,81 @@ +using Google.Protobuf; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.Drawing.Imaging; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.IO; +using Tango.PMR.TCC; +using Tango.TCC.BL; + +namespace Tango.UnitTesting.TCC +{ + [TestClass] + [TestCategory("TCC")] + public class TCC_TST + { + [TestMethod] + public void Detect() + { + var original_bitmap = Directory.GetCurrentDirectory() + "\\TCC\\TCC Resources\\bitmap.bmp"; + + using (ColorDetector detector = new ColorDetector()) + { + DetectionInput input = new DetectionInput() + { + Number = 10, + Columns = 10, + Rows = 11, + TargetIndex = 99, + Bitmap = ByteString.CopyFrom(File.ReadAllBytes(original_bitmap)), + DebugMode = true, + }; + + var output = detector.Detect(input); + + using (MemoryStream ms = new MemoryStream(output.DebugBitmap.ToArray())) + { + var outputBitmap = TemporaryManager.Default.CreateFile(".bmp"); + outputBitmap.Persist = true; + ms.Position = 0; + Bitmap bmp = new Bitmap(ms); + bmp.Save(outputBitmap); + Process.Start(outputBitmap); + } + + using (Bitmap colorMatrixBmp = ColorDetector.DetectionOutputToImage(input, output, 300, 320)) + { + var outputBitmap = TemporaryManager.Default.CreateFile(".bmp"); + outputBitmap.Persist = true; + colorMatrixBmp.Save(outputBitmap); + Process.Start(outputBitmap); + } + + Assert.IsTrue(output.Number == 20); + } + } + + private byte[] GetBitmapData(byte[] bitmap) + { + using (MemoryStream ms = new MemoryStream(bitmap)) + { + ms.Position = 0; + Bitmap image = new Bitmap(ms); + Rectangle area = new Rectangle(0, 0, image.Width, image.Height); + BitmapData bitmapData = image.LockBits(area, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); + int stride = bitmapData.Stride; + IntPtr ptr = bitmapData.Scan0; + int numBytes = bitmapData.Stride * image.Height; + byte[] rgbValues = new byte[numBytes]; + Marshal.Copy(ptr, rgbValues, 0, numBytes); + return rgbValues; + } + } + } +} |
