public void ViewFacedeSemaphoreTest() { int taskNumber = 0; var facade = new AVRFacadeStub(123); const int taskCount = 10; Action act = () => { var number = Interlocked.Increment(ref taskNumber); Console.WriteLine("->View task {0} started", number); ViewDTO model = facade.GetCachedView("xxx", -1, "en"); Console.WriteLine("<-View task {0} finished", number); }; Task[] tasks = new Task[taskCount]; for (int i = 0; i < taskCount; i++) { tasks[i] = new Task(act); } foreach (var task in tasks) { task.Start(); } Task.WaitAll(tasks); }
public void ViewFacedeTest() { var facade = new AVRFacadeStub(123); ViewDTO model = facade.GetCachedView("xxx", -1, "en"); Assert.IsNotNull(model); Assert.IsNotNull(model.BinaryViewHeader); Assert.IsNotNull(model.Header); Assert.IsNotNull(model.BodyPackets); byte[] unzippedViewStructure = BinaryCompressor.Unzip(model.BinaryViewHeader); string xmlViewStructure = BinarySerializer.DeserializeToString(unzippedViewStructure); AvrView view = AvrViewSerializer.Deserialize(xmlViewStructure); string viewXmlNew = AvrViewSerializer.Serialize(view); Assert.AreEqual(SerializedViewStub.ViewXml, viewXmlNew); BaseTableDTO unzippedDTO = BinaryCompressor.Unzip(model); DataTable viewData = BinarySerializer.DeserializeToTable(unzippedDTO); string dataXmlNew = DataTableSerializer.Serialize(viewData); Assert.AreEqual(SerializedViewStub.DataXml, dataXmlNew); }