Exemple #1
0
        public void TestScenarioCreationFromAction()
        {
            var provider = new Mock <IWebDriverProvider>();
            var factory  = new ScenarioFactory(provider.Object);
            var action   = new TrainArmyAction
            {
                UnitsToTrain = new Dictionary <string, int> {
                    { "test", 1 }
                }
            };

            var scenario = factory.GetScenario(action);

            Assert.NotNull(scenario);
            Assert.AreEqual(typeof(TrainArmyScenario), scenario.GetType());

            var buildAction = new BuildAction
            {
                BuildingId = "testBuilding"
            };

            var buildScenario = factory.GetScenario(buildAction);

            Assert.NotNull(buildScenario);
            Assert.AreEqual(typeof(BuildScenario), buildScenario.GetType());
        }
Exemple #2
0
        /// <summary>
        /// Main method
        /// </summary>
        /// <param name="args">Arguments</param>
        public static void Main(string[] args)
        {
            //Select provider for data storage
            SettingsUtils.Switch(ConfigurationFactory <HeimdallrConfiguration> .Instance.Storage.Scenario, new Dictionary <string, Action>
            {
                { "Basic", () => ScenarioFactory.Initialize(new BasicScenario()) },
                { "Demo", () => ScenarioFactory.Initialize(new DemoScenario()) }
            });

            //Select provider for data storage
            SettingsUtils.Switch(ConfigurationFactory <HeimdallrConfiguration> .Instance.Storage.Provider, new Dictionary <string, Action>
            {
                { "Mockup", SessionFactory.RegisterDefaultDataSession <MockupDataSession> },
                { "EntityFramework", SessionFactory.RegisterDefaultDataSession <EntityFrameworkDataSession <HeimdallrDbContext> > }
            });

            ////Applico l'inizializer al contex corrente
            //IDataSession session = SessionFactory.OpenSession();
            //session.As<EntityFrameworkDataSession<HeimdallrDbContext>>().Context
            //    .ApplyInitializer<HeimdallrDbContext, DefaultDbContextInitializer>();

            //Avvio l'hosting
            BuildWebHost(args).Run();

            //https://stackoverflow.com/questions/45715394/asp-net-core-2-0-bearer-auth-without-identity
        }
Exemple #3
0
        /// <summary>
        /// Execute initialization
        /// </summary>
        private void ExecuteInitialization()
        {
            //Do extra initialize
            OnInitialize();

            //Inizializzo il randomizzatore
            RandomSeed = new Random();

            //Inizializzazione dello scenario (usando il tipo)
            TScenario scenario = new TScenario();

            //Imposto lo scenario base per i test
            Scenario = scenario;

            //Inizializzazione dello scenario
            ScenarioFactory.Initialize(Scenario);

            //Registrazione della sessione di default
            SessionFactory.RegisterDefaultDataSession <MockupDataSession>();

            //Creazione del controller dichiarato
            Controller = new TApiController();

            //Recupero l'utente da usare nel testa
            var defaultUserIdentity = GetIdentity();

            if (defaultUserIdentity == null)
            {
                throw new InvalidProgramException("User for identity is invalid");
            }

            //Inizializzazione del controller context e impostazione dell'identity
            UpdateIdentity(defaultUserIdentity);
        }
        static void Main(string[] args)
        {
            Scenario scenario = null;

            try
            {
                scenario = ScenarioFactory.GetScenario(Scenarios.CreateSingleVmExample);
                scenario.Execute();
            }
            finally
            {
                var client = new ResourcesManagementClient(scenario.Context.SubscriptionId, scenario.Context.Credential);
                foreach (var rgId in Scenario.CleanUp)
                {
                    var name = GetResourceName(rgId);
                    try
                    {
                        var rg = client.ResourceGroups.Get(name).Value;
                        if (rg != null)
                        {
                            Console.WriteLine($"--------Deleting {rg.Name}--------");
                            _ = client.ResourceGroups.StartDelete(rg.Name).WaitForCompletionAsync().ConfigureAwait(false).GetAwaiter().GetResult();
                        }
                    }
                    catch
                    {
                        // ignore errors in get/delete
                    }
                }
            }
        }
Exemple #5
0
        public static void Main(string[] args)
        {
            SessionFactory.RegisterDefaultDataSession <MockupDataSession>();
            ScenarioFactory.Initialize(new SimpleAuthenticationScenario());


            CreateWebHostBuilder(args).Build().Run();
        }
Exemple #6
0
        internal TicTacToeControlsViewModel(TicTacToeControlsModel TicTacToeControlsModel, ScenarioFactory scenarioFactory)
        {
            _gameModeSource.AddRange(TicTacToeControlsModel.GameModes);
            _playerSource.AddRange(TicTacToeControlsModel.Players);
            _scenarioFactory = scenarioFactory;

            StartGameCommand = new RelayCommand(this.StartGame);
        }
Exemple #7
0
        public async Task TestWatchScenario()
        {
            var factory  = new ScenarioFactory(provider);
            var executor = new ScenarioExecutor();
            var api      = new GameplayApi(executor, factory, logger.Object);

            BaseScenarioResult result = await api.Watch(player);

            Assert.IsTrue(result.IsUserUnderAttack);
            Assert.IsTrue(result.Success);
        }
Exemple #8
0
 protected OverrideTimeLimit(ScenarioFactory overrideScenarioFactory)
     : base(
         $"Dev {overrideScenarioFactory.ScenarioInfo.Key} {overrideScenarioFactory.ScenarioInfo.TimeLimitSeconds} seconds",
         $"Dev {overrideScenarioFactory.ScenarioInfo.Name} {overrideScenarioFactory.ScenarioInfo.TimeLimitSeconds} seconds",
         $"Dev {overrideScenarioFactory.ScenarioInfo.Description} {overrideScenarioFactory.ScenarioInfo.TimeLimitSeconds} seconds",
         overrideScenarioFactory.ScenarioInfo.MinPlayerCount,
         overrideScenarioFactory.ScenarioInfo.MaxPlayerCount,
         overrideScenarioFactory.ScenarioInfo.TimeLimitSeconds)
 {
     _overrideScenarioFactory = overrideScenarioFactory;
 }
Exemple #9
0
        public async Task TestCheckReportsScenario()
        {
            var factory  = new ScenarioFactory(provider);
            var executor = new ScenarioExecutor();
            var api      = new GameplayApi(executor, factory, logger.Object);

            BaseScenarioResult result = await api.Watch(player);

            Assert.IsTrue(result.IsUserUnderAttack);
            Assert.IsTrue(result.Success);
            Assert.AreEqual("No scan events found", result.Messages.FirstOrDefault());
        }
Exemple #10
0
        static void Main(string[] args)
        {
            VictoryValidator victoryValidator = new VictoryValidator();
            PlayerFactory    playerFactory    = new PlayerFactory(victoryValidator);
            ScenarioFactory  scenarioFactory  = new ScenarioFactory(playerFactory);

            TicTacToeControlsViewModel TicTacToeControlsViewModel = new TicTacToeControlsViewModel(new TicTacToeControlsModel(), scenarioFactory);
            TicTacToeGridViewModel     TicTacToeGridViewModel     = new TicTacToeGridViewModel(new TicTacToeGridModel(), TicTacToeControlsViewModel);
            GameWindowViewModel        GameWindowViewModel        = new GameWindowViewModel(TicTacToeControlsViewModel, TicTacToeGridViewModel);

            GameWindow gameWindow = new GameWindow(GameWindowViewModel);

            gameWindow.ShowDialog();
        }
Exemple #11
0
        public async Task TestIncomingAttackScenario()
        {
            var factory  = new ScenarioFactory(provider);
            var executor = new ScenarioExecutor();
            var api      = new GameplayApi(executor, factory, logger.Object);

            BaseScenarioResult result = await api.Scan(player, false);

            Assert.IsTrue(result.IsUserUnderAttack);
            Assert.IsTrue(result.Villages.Count > 0);
            Assert.IsNotNull(result.Villages.FirstOrDefault());
            Assert.IsTrue(result.Villages.FirstOrDefault().IsUnderAttack);
            Assert.IsTrue(result.Villages.FirstOrDefault().Attacks.Any());
        }
Exemple #12
0
        public void TestPrepareToAttackScenarios()
        {
            var factory  = new ScenarioFactory(provider);
            var executor = new ScenarioExecutor();
            var api      = new GameplayApi(executor, factory, logger.Object);
            var village  = new Village
            {
                Name = "Unex_Test_Village"
            };
            var to = new Village
            {
                CoordinateX = -46,
                CoordinateY = 33
            };

            var actions = new List <GameAction>
            {
                new SendResourcesAction
                {
                    Village = village,
                    To      = to,
                    Action  = GameActionType.SEND_RESOURCES
                },
                new TrainArmyAction()
                {
                    Village      = village,
                    Action       = GameActionType.TRAIN_ARMY,
                    UnitsToTrain = new Dictionary <string, int> {
                        { "Фаланга", 1 }
                    }
                },
                new SendArmyAction()
                {
                    Village     = village,
                    To          = to,
                    Action      = GameActionType.SEND_ARMY,
                    UnitsToSend = new Dictionary <string, int> {
                        { "Фаланга", 1 }
                    },
                    Type = SendArmyType.RAID
                }
            };

            Assert.DoesNotThrow(() => api.RunScenarioWithActions(player, actions).Wait());
        }
Exemple #13
0
        static void Main(string[] args)
        {
            //Select provider for data storage
            SettingsUtils.Switch(ConfigurationFactory <HeimdallrConfiguration> .Instance.Storage.Scenario, new Dictionary <string, Action>
            {
                { "Basic", () => ScenarioFactory.Initialize(new BasicScenario()) }
            });

            //Select provider for data storage
            SettingsUtils.Switch(ConfigurationFactory <HeimdallrConfiguration> .Instance.Storage.Provider, new Dictionary <string, Action>
            {
                { "Mockup", SessionFactory.RegisterDefaultDataSession <MockupDataSession> },
                { "EntityFramework", SessionFactory.RegisterDefaultDataSession <EntityFrameworkDataSession <HeimdallrDbContext> > }
            });

            //Main menu
            ConsoleUtils.RenderMenu("Heimdallr Maintenance", new List <ConsoleMenuElement>
            {
                new ConsoleMenuElement("s", "Setup procedures", SetupProcedures.Current.Summary)
            });
        }
Exemple #14
0
        public void Test_PrepareToAttack_Scenarios_Creation()
        {
            var actions = new List <GameAction>
            {
                new SendResourcesAction(),
                new TrainArmyAction(),
                new SendArmyAction()
            };

            var provider        = new Mock <IWebDriverProvider>();
            var factory         = new ScenarioFactory(provider.Object);
            var scenarioBuilder = new ScenarioDecoratorBuilder(factory);

            foreach (var action in actions)
            {
                scenarioBuilder = scenarioBuilder.WithScenario(action);
            }

            var scenario = scenarioBuilder.Build();

            Assert.IsNotNull(scenario);
            Assert.AreEqual(typeof(SendResourcesScenario), scenario.GetType());
        }
Exemple #15
0
 // Use this for initialization
 void Start()
 {
     sceneFactory     = new ScenarioFactory();
     currentWorld     = null;
     selectedTool     = Tools.EDIT;
     unitFactory      = new ObjectFactory();
     selectedUnitType = UnitType.NONE;
     editor           = GameObject.FindObjectOfType <Editor> ();
     InfoBox          = Instantiate(InfoBoxPrefab) as GameObject;
     InfoBox.SetActive(false);
     timeSinceClick = 0;
     if (!NetworkManager.NetworkInstance.IsServer)
     {
         GameObject.Destroy(MapButton.GetComponent <EventTrigger>());
         var color = MapButton.GetComponent <Text>().color;
         MapButton.GetComponent <Text>().color = new Color(color.r, color.g, color.b, .5f);
         color = LoadButton.GetComponent <Image>().color;
         LoadButton.GetComponent <Image>().color    = new Color(color.r, color.g, color.b, .3f);
         LoadButton.GetComponent <Button>().enabled = false;
         SaveButton.GetComponent <Image>().color    = new Color(color.r, color.g, color.b, .3f);
         SaveButton.GetComponent <Button>().enabled = false;
     }
 }
Exemple #16
0
        /// <summary>
        /// 変換開始ボタンがクリックされた際の処理です。
        /// </summary>
        /// <param name="sender">呼び出し元のオブジェクトです。</param>
        /// <param name="eventArgs">イベントに関するデータです。</param>
        private void OnConvertStartButtonClicked(object sender, EventArgs eventArgs)
        {
            for (int i = 0; i < this.ImportFilePaths.Length; i++)
            {
                AdvCommandXLWorkBook advCommandXLWorkBook = new AdvCommandXLWorkBook(this.ImportFilePaths[i]);
                foreach (AdvCommandXLWorkSheet advCommandXLWorkSheet in advCommandXLWorkBook.GetWorkSheets())
                {
                    AdvCommandsFactory     advCommandsFactory = new AdvCommandsFactory();
                    List <FrameAdvCommand> advCommands        = advCommandsFactory.Create(advCommandXLWorkSheet.GetRows());

                    ScenarioFactory scenarioFactory = new ScenarioFactory();
                    Scenario        scenario        = scenarioFactory.Create(advCommandXLWorkSheet.GetName(), advCommands);

                    JsonFileExporter jsonFileExporter = new JsonFileExporter(advCommandXLWorkSheet.GetName(), Path.GetDirectoryName(this.ImportFilePaths[i]));
                    jsonFileExporter.Export(ScenarioConverter.ToJson(scenario));

                    string messageBoxCaption = "シナリオJsonファイル出力結果";
                    string messageBoxText    = String.Format("シナリオJsonファイルの出力に成功しました。\n入力Xlsxファイル:{0}\n出力Jsonファイル:{1}",
                                                             this.ImportFilePaths[i],
                                                             jsonFileExporter.GetFilePath());
                    MessageBox.Show(messageBoxText, messageBoxCaption, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
 // Use this for initialization
 void Start()
 {
     scenarioFactory = new ScenarioFactory();
 }