Ejemplo n.º 1
0
        public void SetAlgorithmCommandTest()
        {
            var target = new SpiderViewModel();

            try
            {
                var originalAlgorithm = AlgorithmType.Search;
                var newAlgorithm      = AlgorithmType.Study;

                Assert.Equal(originalAlgorithm, target.AlgorithmType);
                foreach (var variation in target.Algorithms)
                {
                    Assert.Equal(originalAlgorithm == variation.Value, variation.IsChecked);
                }

                target.SetAlgorithmCommand.Execute(new AlgorithmViewModel(newAlgorithm, false));

                Assert.Equal(newAlgorithm, target.AlgorithmType);
                foreach (var variation in target.Algorithms)
                {
                    Assert.Equal(newAlgorithm == variation.Value, variation.IsChecked);
                }
            }
            finally
            {
                target.Dispose();
            }
        }
Ejemplo n.º 2
0
        public void SetVariationCommandTest()
        {
            var originalVariation = Variation.Spider2;
            var newVariation      = Variation.Spiderette4;

            var target = new SpiderViewModel();

            try
            {
                Assert.Equal(originalVariation, target.Variation);
                foreach (var variation in target.Variations)
                {
                    Assert.Equal(originalVariation == variation.Value, variation.IsChecked);
                }
                Assert.Equal(originalVariation.NumberOfPiles, target.Game.NumberOfPiles);

                target.SetVariationCommand.Execute(new VariationViewModel(newVariation, false));

                Assert.Equal(newVariation, target.Variation);
                foreach (var variation in target.Variations)
                {
                    Assert.Equal(newVariation == variation.Value, variation.IsChecked);
                }
                Assert.Equal(newVariation.NumberOfPiles, target.Game.NumberOfPiles);
            }
            finally
            {
                target.Dispose();
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> GetResult(SpiderViewModel spiderViewModel)
        {
            var runner = new PhantomJsRunner(null, "", "");

            runner.WebDriver.Navigate().GoToUrl(spiderViewModel.Url);
            var result = runner.WebDriver.PageSource;

            var dataType = "";

            if (result.First() == '<')
            {
                if (result.Contains("<html>"))
                {
                    dataType = "html";
                }
                else
                {
                    dataType = "xml";
                }
            }
            else
            {
                dataType = "json";
            }

            return(View());
        }
Ejemplo n.º 4
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);

            Utils.SuppressConsole = true;

            MainWindow window = new MainWindow();

            // Create the ViewModel to which
            // the main window binds.
            var viewModel = new SpiderViewModel();

            // When the ViewModel asks to be closed,
            // close the window.
            EventHandler handler = null;

            handler = delegate
            {
                viewModel.RequestClose -= handler;
                window.Close();
            };
            viewModel.RequestClose += handler;

            // Allow all controls in the window to
            // bind to the ViewModel by setting the
            // DataContext, which propagates down
            // the element tree.
            window.DataContext = viewModel;

            window.Show();
        }
Ejemplo n.º 5
0
        public void SpiderViewModelConstructorTest2()
        {
            var target = new SpiderViewModel(sampleData);

            try
            {
                Assert.Equal(target.Variation.NumberOfFoundations, target.Tableau.DiscardPiles.Count);
                Assert.Equal(CardType.Up, target.Tableau.DiscardPiles[1][0].CardType);
                Assert.Equal(CardType.EmptySpace, target.Tableau.DiscardPiles[2][0].CardType);
                Assert.Equal(target.Variation.NumberOfPiles, target.Tableau.Piles.Count);
                var pile = target.Tableau.Piles[0];
                Assert.Equal(11, pile.Count);
                Assert.Equal(pile[0].CardType, CardType.Down);
                Assert.Equal(1, target.Tableau.StockPile.Count);
            }
            finally
            {
                target.Dispose();
            }
        }
Ejemplo n.º 6
0
        public void SpiderViewModelConstructorTest1()
        {
            var target = new SpiderViewModel();

            try
            {
                Assert.Equal(target.Variation.NumberOfFoundations, target.Tableau.DiscardPiles.Count);
                Assert.Equal(target.Variation.NumberOfPiles, target.Tableau.Piles.Count);
                foreach (var pile in target.Tableau.Piles)
                {
                    Assert.Equal(1, pile.Count);
                    Assert.Equal(pile[0].CardType, CardType.EmptySpace);
                }
                Assert.Equal(0, target.Tableau.StockPile.Count);
            }
            finally
            {
                target.Dispose();
            }
        }
Ejemplo n.º 7
0
        public void NewCommandTest()
        {
            var target = new SpiderViewModel();

            try
            {
                target.NewCommand.Execute(null);
                Assert.Equal(target.Variation.NumberOfFoundations, target.Tableau.DiscardPiles.Count);
                Assert.Equal(target.Variation.NumberOfPiles, target.Tableau.Piles.Count);
                foreach (var pile in target.Tableau.Piles)
                {
                    Assert.True(pile.Count > 1);
                    Assert.Equal(pile[0].CardType, CardType.Down);
                    Assert.Equal(pile[pile.Count - 1].CardType, CardType.Up);
                }
                Assert.True(target.Tableau.StockPile.Count > 0);
            }
            finally
            {
                target.Dispose();
            }
        }