123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using Edge.Core.Parser.BinaryParser.Util;
- using ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity;
- using ShellChina_EPS_Project_CarPlatePay_EpsClient_App.MessageEntity.Base;
- using System.Collections.Generic;
- using System.Linq;
- namespace ShellChina_EPS_Project_CarPlatePay_EpsClient_App_Test
- {
- [TestClass]
- public class BitMapHelperUnitTest
- {
- public static bool ValueEquals(IEnumerable<byte> array1, IEnumerable<byte> array2)
- {
- if (array1 == null && array2 == null)
- {
- return true;
- }
- if ((array1 == null) || (array2 == null))
- {
- return false;
- }
- if (array1.Count() != array2.Count())
- {
- return false;
- }
- if (array1.Equals(array2))
- {
- return true;
- }
- else
- {
- for (int Index = 0; Index < array1.Count(); Index++)
- {
- if (!Equals(array1.ElementAt(Index), array2.ElementAt(Index)))
- {
- return false;
- }
- }
- }
- return true;
- }
- [TestMethod]
- public void CreateMap_TestMethod1()
- {
- var map = BitMapHelper.CreateMap(3, 34, 41);
- var expect = new byte[] { 0x20, 0, 0, 0, 0x40, 0x80, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod2()
- {
- var map = BitMapHelper.CreateMap(1, 2, 3, 4, 5);
- var expect = new byte[] { 0xF8, 0, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod3()
- {
- var map = BitMapHelper.CreateMap(8);
- var expect = new byte[] { 1, 0, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod4()
- {
- var map = BitMapHelper.CreateMap(8, 9);
- var expect = new byte[] { 1, 0x80, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod5()
- {
- var map = BitMapHelper.CreateMap(8, 9, 10);
- var expect = new byte[] { 1, 0xC0, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod6()
- {
- var map = BitMapHelper.CreateMap(1, 8, 9, 10, 11, 12);
- var expect = new byte[] { 0x81, 0xF0, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod7()
- {
- var map = BitMapHelper.CreateMap(9, 10, 11, 12, 13, 14, 15, 16);
- var expect = new byte[] { 0, 0xFF, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod8()
- {
- var map = BitMapHelper.CreateMap(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16);
- var expect = new byte[] { 0xFF, 0xFF, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod9()
- {
- var map = BitMapHelper.CreateMap(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24);
- var expect = new byte[] { 0xFF, 0xFF, 0xFF, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod10()
- {
- var map = BitMapHelper.CreateMap(17, 18, 19, 20, 21, 22, 23, 24);
- var expect = new byte[] { 0, 0, 0xFF, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod11()
- {
- var map = BitMapHelper.CreateMap(25, 26, 27, 28, 29, 30, 31, 32);
- var expect = new byte[] { 0, 0, 0, 0xFF, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod12()
- {
- var map = BitMapHelper.CreateMap(33, 34, 35, 36, 37, 38, 39, 40);
- var expect = new byte[] { 0, 0, 0, 0, 0xFF, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod13()
- {
- var map = BitMapHelper.CreateMap(41, 42, 43, 44, 45, 46, 47, 48);
- var expect = new byte[] { 0, 0, 0, 0, 0, 0xFF, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod14()
- {
- var map = BitMapHelper.CreateMap(49, 50, 51, 52, 53, 54, 55, 56);
- var expect = new byte[] { 0, 0, 0, 0, 0, 0, 0xFF, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod15()
- {
- var map = BitMapHelper.CreateMap(57, 58, 59, 60, 61, 62, 63, 64);
- var expect = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0xFF };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod16()
- {
- var map = BitMapHelper.CreateMap(1, 2, 3, 4, 5, 6, 7, 8, 57, 58, 59, 60, 61, 62, 63, 64);
- var expect = new byte[] { 0xFF, 0, 0, 0, 0, 0, 0, 0xFF };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod17()
- {
- var map = BitMapHelper.CreateMap(1, 2, 3, 4, 5, 6, 7, 8, 17, 18, 19, 20, 21, 22, 23, 24, 57, 58, 59, 60, 61, 62, 63, 64);
- var expect = new byte[] { 0xFF, 0, 0xFF, 0, 0, 0, 0, 0xFF };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod18()
- {
- var map = BitMapHelper.CreateMap(1, 9, 17, 25, 33, 41, 49, 57);
- var expect = new byte[] { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod19()
- {
- var map = BitMapHelper.CreateMap(8, 16, 24, 32, 40, 48, 56, 64);
- var expect = new byte[] { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod20()
- {
- var map = BitMapHelper.CreateMap(7, 15, 23, 31, 39, 47, 55, 63);
- var expect = new byte[] { 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod21()
- {
- var map = BitMapHelper.CreateMap(6, 14, 22, 30, 38, 46, 54, 62);
- var expect = new byte[] { 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod22()
- {
- var map = BitMapHelper.CreateMap(6, 7, 14, 15, 22, 23, 30, 31, 38, 39, 46, 47, 54, 55, 62, 63);
- var expect = new byte[] { 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void CreateMap_TestMethod23()
- {
- var map = BitMapHelper.CreateMap(6, 7, 8, 14, 15, 16, 22, 23, 24, 30, 31, 32, 38, 39, 40, 46, 47, 48, 54, 55, 56, 62, 63, 64);
- var expect = new byte[] { 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void Enable_TestMethod1()
- {
- var map = BitMapHelper.CreateMap();
- map = map.Enable(1, 2);
- var expect = new byte[] { 0xC0, 0, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void Enable_TestMethod2()
- {
- var map = BitMapHelper.CreateMap();
- map = map.Enable(1, 2, 3, 4, 5);
- var expect = new byte[] { 0xF8, 0, 0, 0, 0, 0, 0, 0 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void Enable_TestMethod3()
- {
- var map = BitMapHelper.CreateMap();
- map = map.Enable(1, 8, 9, 16, 17, 24, 25, 32, 33, 40, 41, 48, 49, 56, 57, 64);
- var expect = new byte[] { 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81 };
- Assert.AreEqual(true, ValueEquals(map, expect),
- "expect: \r\n" + expect.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n)
- + "\r\n actual: " + map.Select(e => e.ToString("X2")).Aggregate((acc, n) => acc + " " + n));
- }
- [TestMethod]
- public void Determine_TestMethod1()
- {
- var enablingIndexes = new int[] { 1, 2 };
- var map = BitMapHelper.CreateMap();
- map = map.Enable(enablingIndexes);
- for (int i = 0; i < enablingIndexes.Length; i++)
- {
- var actual = map.Determine(enablingIndexes[i]);
- Assert.AreEqual(true, actual);
- }
- }
- [TestMethod]
- public void Determine_TestMethod2()
- {
- var enablingIndexes = new int[] { 1, 8, 9, 10, 17, 24, 32, 33, 40, 42, 48, 55, 56, 57 };
- var map = BitMapHelper.CreateMap();
- map = map.Enable(enablingIndexes);
- for (int i = 0; i < enablingIndexes.Length; i++)
- {
- var actual = map.Determine(enablingIndexes[i]);
- Assert.AreEqual(true, actual);
- }
- }
- [TestMethod]
- public void Determine_TestMethod3()
- {
- var enablingIndexes = new int[] { 32, 33, 40, 42, 48, 55, 56, 57 };
- var map = BitMapHelper.CreateMap();
- map = map.Enable(enablingIndexes);
- for (int i = 0; i < enablingIndexes.Length; i++)
- {
- var actual = map.Determine(enablingIndexes[i]);
- Assert.AreEqual(true, actual);
- }
- }
- [TestMethod]
- public void Determine_TestMethod4()
- {
- var enablingIndexes = new int[] { 1, 2, 3 };
- var map = BitMapHelper.CreateMap(enablingIndexes);
- map = map.Enable(enablingIndexes);
- for (int i = 0; i < enablingIndexes.Length; i++)
- {
- var actual = map.Determine(enablingIndexes[i]);
- Assert.AreEqual(true, actual);
- }
- }
- [TestMethod]
- public void Determine_TestMethod5()
- {
- var map = BitMapHelper.CreateMap(1);
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 1);
- Assert.AreEqual(true, enabledList[0] == 1);
-
-
-
-
-
- }
- [TestMethod]
- public void Determine_TestMethod6()
- {
- var map = BitMapHelper.CreateMap(4, 8);
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 2);
- Assert.AreEqual(true, enabledList.Contains(4));
- Assert.AreEqual(true, enabledList.Contains(8));
-
-
-
-
-
- }
- [TestMethod]
- public void Determine_TestMethod7()
- {
- var map = BitMapHelper.CreateMap(4, 8, 14, 19, 38, 60);
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 6);
- Assert.AreEqual(true, enabledList.Contains(4));
- Assert.AreEqual(true, enabledList.Contains(8));
- Assert.AreEqual(true, enabledList.Contains(14));
- Assert.AreEqual(true, enabledList.Contains(19));
- Assert.AreEqual(true, enabledList.Contains(38));
- Assert.AreEqual(true, enabledList.Contains(60));
-
-
-
-
-
- }
- [TestMethod]
- public void Determine_TestMethod8()
- {
- var map = new byte[] { 0x20, 0x10, 0x01, 0x00, 0x42, 0x80, 0x00, 0x00 };
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 6);
- Assert.AreEqual(true, enabledList.Contains(3));
- Assert.AreEqual(true, enabledList.Contains(12));
- Assert.AreEqual(true, enabledList.Contains(24));
- Assert.AreEqual(true, enabledList.Contains(34));
- Assert.AreEqual(true, enabledList.Contains(39));
- Assert.AreEqual(true, enabledList.Contains(41));
-
-
-
-
-
- }
- [TestMethod]
- public void Determine_TestMethod9()
- {
- var map = "2000000003000000".ToBytes();
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 3);
- Assert.AreEqual(true, enabledList.Contains(3));
- Assert.AreEqual(true, enabledList.Contains(39));
- Assert.AreEqual(true, enabledList.Contains(40));
-
-
-
-
-
- }
- [TestMethod]
- public void Determine_TestMethod10()
- {
- var map = "3010030040800000".ToBytes();
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 7);
- Assert.AreEqual(true, enabledList.Contains(3));
- Assert.AreEqual(true, enabledList.Contains(4));
- Assert.AreEqual(true, enabledList.Contains(12));
- Assert.AreEqual(true, enabledList.Contains(23));
- Assert.AreEqual(true, enabledList.Contains(24));
- Assert.AreEqual(true, enabledList.Contains(34));
-
-
-
-
-
- }
- [TestMethod]
- public void Determine_TestMethod11()
- {
- var map = "3a10000002000000".ToBytes();
- var enabledList = map.Determine();
- Assert.AreEqual(true, enabledList.Count == 6);
- Assert.AreEqual(true, enabledList.Contains(3));
- Assert.AreEqual(true, enabledList.Contains(4));
- Assert.AreEqual(true, enabledList.Contains(5));
- Assert.AreEqual(true, enabledList.Contains(7));
- Assert.AreEqual(true, enabledList.Contains(12));
- Assert.AreEqual(true, enabledList.Contains(39));
-
-
-
-
-
- }
- }
- }
|