protected void VerifyButton_Click(object sender, EventArgs e)
        {
            if (FileUpload1.HasFile)
            {
                using (ZipFile zipFile = ZipFile.Read(FileUpload1.FileBytes))
                {
                    foreach (ZipEntry entry in zipFile.Entries)
                    {
                        string fileName = entry.FileName;
                        if (fileName.IndexOf('/') > -1)
                        {
                            fileName = fileName.Substring(fileName.LastIndexOf('/') + 1);
                        }

                        if (!IotContext.TestSuiteState.MessageTestStates.ContainsKey(fileName))
                        {
                            continue;
                        }

                        MessageTestState messageTestState = IotContext.TestSuiteState.MessageTestStates[fileName];

                        using (MemoryStream memoryStream = new MemoryStream())
                        {
                            entry.Extract(memoryStream);
                            byte[] sourceBytes = memoryStream.GetBuffer();
                            byte[] targetBytes = new byte[memoryStream.Length];
                            for (int i = 0; i < targetBytes.Length; i++)
                            {
                                targetBytes[i] = sourceBytes[i];
                            }
                            messageTestState.CandidateBytes    = targetBytes;
                            messageTestState.DifferenceIndexes = CompareUtil.FindFirstDifference(messageTestState.ReferenceBytes, messageTestState.CandidateBytes);
                            messageTestState.Result            = messageTestState.DifferenceIndexes.Count == 0;
                        }
                    }
                }
            }
        }