void RunTestsButton_Click(object sender, EventArgs e)
        {
            using (var stream = new FileStream(PathBox.Text, FileMode.Open))
            {
                var singleBitTest = new SingleBitTest();
                singleBitTest.Run(stream);
                SingleBitOnesLabel.Text = singleBitTest.Ones.ToString();
                SingleBitPassedLabel.Text = singleBitTest.Passed ? "Passed" : "Failed";

                stream.Position = 0;
                var pokerTest = new PokerTest();
                pokerTest.Run(stream);
                PokerPassedLabel.Text = pokerTest.Passed ? "Passed" : "Failed";
                PValueLabel.Text = pokerTest.P.ToString();

                stream.Position = 0;
                var blockGapTest = new BlockGapTest();
                blockGapTest.Run(stream);
                BlockStatistic.Text = blockGapTest.Statistic.ToString();

                stream.Position = 0;
                var autoCorrelationTest = new AutocorrelationTest((int) ShiftBox.Value);
                autoCorrelationTest.Run(stream);
                AutocorrelationStatisticLabel.Text = autoCorrelationTest.Statistic.ToString();
            }
        }
Example #2
0
        private void GenerateButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int n = Convert.ToInt32(LengthTextBox.Text);

                bbs = BBSGenerator(n);

                bbsTextBox.Text = bbs;

                var pokerTest      = PokerTest.IsPokerTestPassed(bbs);
                var singleBitTest  = SingleBitTest.IsSingleBitTestPassed(bbs);
                var longSeriesTest = LongSeriesTest.IsLongSeriesTestPassed(bbs);
                var seriesTest     = SeriesTest.IsSeriesTestPassed(bbs);

                PoketTestLabel.Content     = $"Test pokerowy:\t\t{(pokerTest.result ? "Zaliczony" : "Niezaliczony")}";
                LongSeriesLabel.Content    = $"Test długiej serii:\t\t{(longSeriesTest.result ? "Zaliczony" : "Niezaliczony")}";
                SeriesLabel.Content        = $"Test serii:\t\t\t{(seriesTest.result ? "Zaliczony" : "Niezaliczony")}";
                SingleBitTestLabel.Content = $"Test pojedynczych bitów:\t{(singleBitTest.result ? "Zaliczony" : "Niezaliczony")}";

                PokerTestResultLabel.Content      = $"Test pokerowy - X: {Math.Round(pokerTest.value, 2)}\t\t(2.16 - 46.17)";
                SingleBitTestResultLabel.Content  = $"Test pojedynczych bitów - {singleBitTest.value}\t(9725 - 10275)";
                LongSeriesTestResultLabel.Content = $"Test długiej serii - {longSeriesTest.value}";

                StringBuilder stringBuilder = new StringBuilder();

                stringBuilder.Append($"1 - {seriesTest.value[1]} \t\t\t<2315 - 2685>\n");
                stringBuilder.Append($"2 - {seriesTest.value[2]} \t\t\t<1114 - 1386>\n");
                stringBuilder.Append($"3 - {seriesTest.value[3]} \t\t\t<527 - 723>\n");
                stringBuilder.Append($"4 - {seriesTest.value[4]} \t\t\t<240 - 384>\n");
                stringBuilder.Append($"5 - {seriesTest.value[5]} \t\t\t<103 - 209>\n");
                stringBuilder.Append($"6 lub więcej - {seriesTest.value[6]} \t<103 - 209>\n");

                SeriesTestResultTextBlock.Text = stringBuilder.ToString();
            }
            catch
            {
                MessageBox.Show("Podano złą wartość", "Błąd", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }