Beispiel #1
0
        public void RandomSolvingTests(ISolver solver)
        {
            for (int run = 0; run < tries; run++)
            {
                var nonogram = NonogramFactory.MakeNonogram(10, 10);
                nonogram.Clear();
                solver.Solve(nonogram);

                for (int i = 0; i < nonogram.Width; i++)
                {
                    var row = nonogram.getColumn(i);
                    Assert.NotEqual(RowStatus.ContainsErrors, Utils.GetRowStatus(row, nonogram.ColumnDescriptors[i]));
                }

                for (int i = 0; i < nonogram.Height; i++)
                {
                    var row = nonogram.getRow(i);
                    Assert.NotEqual(RowStatus.ContainsErrors, Utils.GetRowStatus(row, nonogram.RowDescriptors[i]));
                }
            }
        }
        public MainWindow()
        {
            InitializeComponent();

            var createHandlers = true;

            cts             = new CancellationTokenSource();
            _solvedNonogram = NonogramFactory.MakeNonogram(rows, columns);
            ClearNonograms();
            MakeNonograms(createHandlers);
            this.KeyDown += (o, args) =>
            {
                if (args.Key == Key.Space)
                {
                    cts.Cancel();
                    cts             = null;
                    cts             = new CancellationTokenSource();
                    _solvedNonogram = NonogramFactory.MakeNonogram(rows, columns);
                    ClearNonograms();
                    MakeNonograms(false);
                }
            };
        }