コード例 #1
0
        public async Task returns_empty_new_forecast_error_list_when_no_installations()
        {
            // Arrange
            const short numberOfDays          = 7;
            short       numberOfElementsInDay = _minNumberOfMeasurements;

            var installationIds = new List <short>();

            _context.AddAllMeasurementsToDatabase(
                _installationIds,
                _startDate,
                numberOfDays,
                numberOfElementsInDay);

            _context.AddAllForecastsToDatabase(
                _installationIds,
                _startDate,
                numberOfDays,
                numberOfElementsInDay);

            var programController = new ProgramController(
                _unitOfWork,
                _forecastErrorsCalculator,
                installationIds,
                minNumberOfMeasurements: _minNumberOfMeasurements);

            // Act
            var(hourlyErrors, dailyErrors)
                = await programController.CalculateForecastErrors();

            // Assert
            Assert.Empty(hourlyErrors);
            Assert.Empty(dailyErrors);
        }
コード例 #2
0
        public async Task returns_forecast_errors_with_correct_count()
        {
            // Arrange
            const short numberOfDays          = 7;
            short       numberOfElementsInDay = _minNumberOfMeasurements;

            int numberOfDailyErrors  = numberOfDays * _installationIds.Count;
            int numberOfHourlyErrors = numberOfDailyErrors * numberOfElementsInDay;

            _context.AddAllMeasurementsToDatabase(
                _installationIds, _startDate, numberOfDays, numberOfElementsInDay);

            _context.AddAllForecastsToDatabase(
                _installationIds, _startDate, numberOfDays, numberOfElementsInDay);

            var programController = new ProgramController(
                _unitOfWork,
                _forecastErrorsCalculator,
                _installationIds,
                minNumberOfMeasurements: _minNumberOfMeasurements,
                forecastErrorsRepository: _unitOfWork.PlainForecastErrorRepository);

            // Act
            var(hourlyErrors, dailyErrors)
                = await programController.CalculateForecastErrors();

            // Assert
            Assert.Equal(numberOfHourlyErrors, hourlyErrors.Count);
            Assert.Equal(numberOfDailyErrors, dailyErrors.Count);
        }
コード例 #3
0
ファイル: GameManager.cs プロジェクト: mrudzik/TapShooterV1
    public void     SetUpVariables(ProgramController newProg)
    {
        uiScript = Instantiate(uiScriptPrefab, canvas);

        _progScript = newProg;
        uiScript.SetVariables(_progScript, this);
    }
コード例 #4
0
ファイル: Program.cs プロジェクト: trulander/Shop
        static void Main(string[] args)
        {
            ServerController  server  = new ServerController(new OutputServer());
            ProgramController program = new ProgramController(new Output());

            program.StartProgram();
        }
コード例 #5
0
        public async Task returns_empty_new_total_error_list_when_no_daily_errors_in_database()
        {
            // Arrange
            const short numberOfDays     = 1;
            const short numberOfElements = 22;

            _context.AddAllMeasurementsToDatabase(
                _installationIds, _startDate, numberOfDays, numberOfElements);

            _context.AddAllForecastsToDatabase(
                _installationIds, _startDate, numberOfDays, numberOfElements);

            foreach (short installationId in _installationIds)
            {
                _context.AddHourlyForecastErrorsToDatabase(
                    installationId, _startDate, numberOfElements);
            }

            var programController = new ProgramController(
                _unitOfWork, _forecastErrorsCalculator, _installationIds);

            // Act
            var newTotalForecastErrors
                = await programController.CalculateTotalForecastErrors();

            // Assert
            Assert.Empty(newTotalForecastErrors);
        }
コード例 #6
0
        public void NotZeroOrLess()
        {
            ProgramController controller = new ProgramController();

            Assert.Null(controller.Apply("11111111111", "0", "01/01/2019"));
            Assert.Null(controller.Apply("11111111111", "-10", "01/01/2019"));
        }
コード例 #7
0
        public void TestGetProgramNotFound()
        {
            var connection = new SqliteConnection("Datasource=:memory:");

            connection.Open();

            try
            {
                var options = new DbContextOptionsBuilder <InternalServicesDirectoryV1Context>()
                              .UseSqlite(connection)
                              .Options;

                // test a successful case
                using (var context = new InternalServicesDirectoryV1Context(options))
                {
                    context.Database.EnsureCreated();
                    context.Program.Add(new Program());
                    context.SaveChanges();

                    ProgramController controller = new ProgramController(context);
                    var actionResult             = controller.Get(2).Result;
                    var result = actionResult as NotFoundObjectResult;

                    Assert.IsNotNull(result);
                    Assert.AreEqual(404, result.StatusCode);
                    Assert.AreEqual("No program from given id found.", result.Value);
                }
            }
            finally
            {
                connection.Close();
            }
        }
コード例 #8
0
        public async Task removes_installation_info_objects_from_database_for_not_requested_installations()
        {
            // Arrange
            var newInstallationIds   = _installationIds.SkipLast(1).ToList();
            var newInstallationInfos = new List <InstallationInfo>();

            foreach (short installationId in _installationIds)
            {
                var dbInstallationInfo = GetTestInstallationInfo(
                    installationId, new DateTime());

                _context.InstallationInfos.Add(dbInstallationInfo);
            }

            _context.SaveChanges();

            var programController = new ProgramController(
                unitOfWork: _unitOfWork,
                installationIds: newInstallationIds,
                airlyInstallationDownloader: _downloaderMock.Object);

            // Act
            await programController.UpdateInstallationInfos(newInstallationInfos);

            var dbInstallationInfos
                = _context.InstallationInfos.OrderBy(i => i.InstallationId).ToList();

            // Assert
            Assert.Equal(newInstallationIds.Count, dbInstallationInfos.Count);

            for (int i = 0; i < dbInstallationInfos.Count; i++)
            {
                Assert.Equal(newInstallationIds[i], dbInstallationInfos[i].InstallationId);
            }
        }
コード例 #9
0
        public async Task does_not_download_when_data_is_up_to_date_and_all_installation_ids_in_database()
        {
            // Arrange
            const short installationUpdateDaysPeriod = 3;
            var         upToDateUpdateDate           = DateTime.UtcNow.Date.AddDays(-1);

            for (int i = 0; i < _installationIds.Count; i++)
            {
                var exampleInstallationInfo = GetTestInstallationInfo(
                    _installationIds[i], upToDateUpdateDate);

                _context.InstallationInfos.Add(exampleInstallationInfo);
            }

            _context.SaveChanges();

            var programController = new ProgramController(
                unitOfWork: _unitOfWork,
                installationIds: _installationIds,
                airlyInstallationDownloader: _downloaderMock.Object,
                installationUpdateDaysPeriod: installationUpdateDaysPeriod);

            // Act
            var installations = await programController.DownloadInstallationInfos();

            // Assert
            _downloaderMock.Verify(
                x => x.DownloadAirQualityData(It.IsAny <short>()), Times.Never);

            Assert.Empty(installations);
        }
コード例 #10
0
        public async Task does_not_download_when_data_is_up_to_date(
            short minNumberOfMeasurements)
        {
            // Arrange
            const short numberOfDays = 1;

            var downloadedData = new Measurements();
            var startDate      = DateTime.UtcNow.AddHours(-(2 * minNumberOfMeasurements) + 1);

            _context.AddAllMeasurementsToDatabase(
                _installationIds, startDate, numberOfDays, minNumberOfMeasurements);

            _downloaderMock.Setup(x => x.DownloadAirQualityData(It.IsAny <short>()))
            .ReturnsAsync(downloadedData);

            var programController = new ProgramController(
                unitOfWork: _unitOfWork,
                installationIds: _installationIds,
                airlyMeasurementsDownloader: _downloaderMock.Object,
                minNumberOfMeasurements: minNumberOfMeasurements);

            // Act
            var newMeasurementsList
                = await programController.DownloadAllAirQualityData();

            // Assert
            _downloaderMock.Verify(
                x => x.DownloadAirQualityData(It.IsAny <short>()), Times.Never());
        }
コード例 #11
0
        public void NoWithdrawBeforeApplication()
        {
            ProgramController controller = new ProgramController();

            controller.Apply("11111111111", "50", "02/01/2019");
            Assert.Null(controller.Withdraw("11111111111", "01/01/2019"));
        }
コード例 #12
0
        protected void Add_Click(object sender, EventArgs e)
        {
            var isValid = Validation(sender, e);

            if (isValid)
            {
                try
                {
                    ProgramController sysmgr = new ProgramController();
                    Program           item   = new Program();
                    //No ProductID here as the database will give a new one back when we add
                    item.ProgramName = PName.Text.Trim(); //NOT NULL in Database
                    //CategoryID can be NULL in Database but NOT NULL when record is added in this CRUD page
                    item.SchoolCode           = SchoolList.SelectedValue;
                    item.DiplomaName          = DName.Text;
                    item.Tuition              = decimal.Parse(Tuition.Text);
                    item.InternationalTuition = decimal.Parse(IntTuition.Text);
                    int newID = sysmgr.Add(item);
                    PID.Text = newID.ToString();
                    ShowMessage("Record has been ADDED", "alert alert-success");
                    AddButton.Enabled    = false;
                    UpdateButton.Enabled = true;
                    DeleteButton.Enabled = true;
                }
                catch (Exception ex)
                {
                    ShowMessage(GetInnerException(ex).ToString(), "alert alert-danger");
                }
            }
        }
コード例 #13
0
        public async Task download_for_all_installations_when_no_measurements_in_database()
        {
            // Arrange
            var downloadedData = new Measurements();

            foreach (short installationId in _installationIds)
            {
                _downloaderMock.Setup(x => x.DownloadAirQualityData(installationId))
                .ReturnsAsync(downloadedData);
            }

            var programController = new ProgramController(
                unitOfWork: _unitOfWork,
                installationIds: _installationIds,
                airlyMeasurementsDownloader: _downloaderMock.Object);

            // Act
            var newMeasurementsList
                = await programController.DownloadAllAirQualityData();

            // Assert
            _downloaderMock.Verify(
                x => x.DownloadAirQualityData(It.IsAny <short>()),
                Times.Exactly(_installationIds.Count));
        }
コード例 #14
0
 protected void Add_Click(object sender, EventArgs e)
 {
     Validation(sender, e);
     if (errormsgs.Count > 1)
     {
         LoadMessageDisplay(errormsgs, "alert alert-info");
     }
     else
     {
         try
         {
             ProgramController sysmgr = new ProgramController();
             Programs          item   = new Programs();
             item.ProgramName          = ProgramName.Text;
             item.SchoolCode           = SchoolList.SelectedValue;
             item.DiplomaName          = DiplomaName.Text;
             item.Tuition              = decimal.Parse(Tuition.Text);
             item.InternationalTuition = decimal.Parse(InternationalTuition.Text);
             int newID = sysmgr.Add(item);
             ProgramID.Text = newID.ToString();
             errormsgs.Add("Record has been added");
             LoadMessageDisplay(errormsgs, "alert alert-success");
             UpdateButton.Enabled = true;
             DeleteButton.Enabled = true;
         }
         catch (Exception ex)
         {
             errormsgs.Add(GetInnerException(ex).ToString());
             LoadMessageDisplay(errormsgs, "alert alert-danger");
         }
     }
 }
コード例 #15
0
 protected void Fetch_Click01(object sender, EventArgs e)
 {
     if (List01.SelectedIndex == 0)
     {
         MessageLabel.Text = "Select School from List";
     }
     else
     {
         try
         {
             ProgramController sysmgr02 = new ProgramController();
             List <Programs>   info02   = null;
             info02 = sysmgr02.FindByID(List01.SelectedValue);
             //info02 = sysmgr02.List();
             info02.Sort((x, y) => x.ProgramName.CompareTo(y.ProgramName));
             Fetch02.Enabled       = true;
             List02.Enabled        = true;
             List02.DataSource     = info02;
             List02.DataTextField  = nameof(Programs.ProgramName);
             List02.DataValueField = nameof(Programs.ProgramID);
             List02.DataBind();
             List02.Items.Insert(0, "select...");
         }
         catch (Exception ex)
         {
             MessageLabel.Text = ex.Message;
         }
     }
 }
コード例 #16
0
        protected void Delete_Click(object sender, EventArgs e)
        {
            var isValid = true;

            if (isValid)
            {
                try
                {
                    ProgramController sysmgr = new ProgramController();
                    int rowsaffected         = sysmgr.Delete(int.Parse(PID.Text));
                    if (rowsaffected > 0)
                    {
                        ShowMessage("Record has been DELETED", "alert alert-success");
                        Clear(sender, e);
                    }
                    else
                    {
                        ShowMessage("Record was not found", "alert alert-warning");
                    }
                    UpdateButton.Enabled = false;
                    DeleteButton.Enabled = false;
                    AddButton.Enabled    = true;
                }
                catch (Exception ex)
                {
                    ShowMessage(GetInnerException(ex).ToString(), "alert alert-danger");
                }
            }
        }
コード例 #17
0
ファイル: ProgramMaster.cs プロジェクト: VidarVigg/GodVr
 private void Awake()
 {
     programController = new ProgramController(this, programConfig, ref programData);
     Initialize();
     //GameMaster gm = Instantiate(programConfig.GameMaster);
     //ServiceLocator.GameMasterService = gm;
 }
コード例 #18
0
        private static void Main()
        {
            // Get the command line arguments and check
            // if the current session is a restart
            string[] args = Environment.GetCommandLineArgs();
            if (args.Any(arg => arg == $"{ProgramController.ParameterPrefix}restart"))
            {
                isRestarted = true;
            }

            // Make sure only one instance is running
            // if the application is not currently restarting
            Mutex mutex = new Mutex(true, "ParserMini", out bool isUnique);

            if (!isUnique && !isRestarted)
            {
                MessageBox.Show(Strings.OtherInstanceRunning, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            // Initialize the controllers and
            // display the main user form
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            LocalizationController.InitializeLocale();
            ProgramController.InitializeServerIp();
            Application.Run(new UI.Main());

            // Don't let the garbage
            // collector touch the Mutex
            GC.KeepAlive(mutex);
        }
コード例 #19
0
        public async Task downloads_for_all_installations_when_no_data_in_database()
        {
            // Arrange
            var downloadedData = new Installation();

            foreach (short installationId in _installationIds)
            {
                _downloaderMock.Setup(x => x.DownloadAirQualityData(installationId))
                .ReturnsAsync(downloadedData);
            }

            var programController = new ProgramController(
                unitOfWork: _unitOfWork,
                installationIds: _installationIds,
                airlyInstallationDownloader: _downloaderMock.Object);

            // Act
            var installations = await programController.DownloadInstallationInfos();

            // Assert
            _downloaderMock.Verify(
                x => x.DownloadAirQualityData(It.IsAny <short>()),
                Times.Exactly(_installationIds.Count));

            Assert.Equal(_installationIds.Count, installations.Count);
        }
コード例 #20
0
    void Start()
    {
        //Instatiate Board manager and the Board MVC as a component
        boardManager    = new BoardManager();
        boardController = new BoardController();
        boardManager.SetBoardController(boardController);
        boardManager.InstantiateBoardMVC();
        BoardLayout();

        //Instatiate Program manager and the Program MVC as a component
        programManager    = new ProgramManager();
        programController = new ProgramController();
        programManager.SetProgramController(programController);
        programManager.SetBoardController(boardManager.boardController);
        programManager.InstantiateProgramModeMVC();

        //Program commands from program mode will be used from here,add to list, play commands etc.
        //Futute work will involve a different method of saving commands.
        //Script can be found in the Program Commands folder

        //Display initial board setup
        boardDisplay.text = boardManager.boardView.UpdateBoardDisplay();

        //Win condition UI and instructions
        levelWinCondition.text = WinConditionStatus();
    }
コード例 #21
0
        public async Task does_not_update_when_new_installation_info_list_is_empty()
        {
            // Arrange
            var newInstallationInfos = new List <InstallationInfo>();

            foreach (short installationId in _installationIds)
            {
                var dbInstallationInfo = GetTestInstallationInfo(
                    installationId, new DateTime());

                _context.InstallationInfos.Add(dbInstallationInfo);
            }

            _context.SaveChanges();

            var programController = new ProgramController(
                unitOfWork: _unitOfWork,
                installationIds: _installationIds,
                airlyInstallationDownloader: _downloaderMock.Object);

            // Act
            await programController.UpdateInstallationInfos(newInstallationInfos);

            var dbInstallationInfos
                = _context.InstallationInfos.OrderBy(i => i.InstallationId).ToList();

            // Assert
            Assert.Equal(_installationIds.Count, dbInstallationInfos.Count);

            for (int i = 0; i < dbInstallationInfos.Count; i++)
            {
                Assert.Equal(_installationIds[i], dbInstallationInfos[i].InstallationId);
            }
        }
コード例 #22
0
        protected void Add_Click(object sender, EventArgs e)
        {
            var isValid = Validation(sender, e);

            if (isValid)
            {
                try
                {
                    ProgramController sysmgr = new ProgramController();
                    Programs          item   = new Programs();
                    item.ProgramName = ProgramName.Text;
                    if (string.IsNullOrEmpty(DiplomaName.Text))
                    {
                        item.DiplomaName = null;
                    }
                    else
                    {
                        item.DiplomaName = DiplomaName.Text;
                    }
                    item.SchoolCode           = SchoolList.SelectedValue;
                    item.Tuition              = decimal.Parse(Tuition.Text);
                    item.InternationalTuition = decimal.Parse(InternationalTuition.Text);
                    int newID = sysmgr.Add(item);
                    ID.Text = newID.ToString();
                    ShowMessage("Record has been ADDED", "alert alert-success");
                    AddButton.Enabled    = false;
                    UpdateButton.Enabled = true;
                    DeleteButton.Enabled = true;
                }
                catch (Exception ex)
                {
                    ShowMessage(GetInnerException(ex).ToString(), "alert alert-danger");
                }
            }
        }
コード例 #23
0
ファイル: Player.cs プロジェクト: Ankhtepot/Hlas
    private void initilize()
    {
        if (
            !progressBar ||
            !courseText ||
            !playingInfoText ||
            !currentTimeText ||
            !totalTimeText ||
            !slider ||
            !backToCourseButton ||
            !backToHomeButton ||
            !clock ||
            !PlayButton ||
            !PauseButton ||
            !StopButton
            )
        {
            Debug.LogWarning("Player: one or more components are not assigned.");
            return;
        }

        PC     = FindObjectOfType <ProgramController>();
        course = FindObjectOfType <Course>();

        clock.OnSecondsChange.AddListener(OnClockSecondsChange);

        slider.onValueChanged.AddListener(sliderOnChangeListener);

        validated = true;
    }
コード例 #24
0
ファイル: Main.cs プロジェクト: VashBaldeus/GTAW-Log-Parser-1
        /// <summary>
        /// Saves the main settings
        /// </summary>
        private void SaveSettings()
        {
            Properties.Settings.Default.DirectoryPath    = DirectoryPath.Text;
            Properties.Settings.Default.RemoveTimestamps = RemoveTimestamps.Checked;

            Properties.Settings.Default.Save();
            ProgramController.InitializeServerIp();
        }
コード例 #25
0
ファイル: Program.cs プロジェクト: Lino3D/Sieci-Neuronowe-P1
        static void Main(string[] args)
        {
            MyCore.Container.Register(Component.For <IOutput>().ImplementedBy <ConsoleWriter>());

            ProgramController.InitializeSimpleNetwork();

            Console.ReadKey();
        }
コード例 #26
0
        public static void Main()
        {
            var programController = new ProgramController();
            programController.Start();

            Debug.Print("Program started and ready.");
            Thread.Sleep(Timeout.Infinite);
        }
コード例 #27
0
        public SaveAllAirQualityDataTest(RepositoryFixture fixture)
        {
            _context         = fixture.Context;
            _startDate       = fixture.StartDate;
            _installationIds = fixture.InstallationIds;

            _programController = new ProgramController(fixture.UnitOfWork);

            _context.Clear();
        }
コード例 #28
0
        public void IRTest1()
        {
            ProgramController controller = new ProgramController();

            controller.Apply("11111111111", "50", "01/01/2019");
            float[] f            = controller.Withdraw("11111111111", "01/01/2020");
            float   IRPercentage = (f[1] / f[2]) * 100;

            Assert.Equal(22.5f, Math.Round(IRPercentage, 3));
        }
コード例 #29
0
        protected void ProgramDataBind()
        {
            //the web page needs to access the BLL class method
            //   to obtain its data
            ProgramController sysmgr = new ProgramController();
            //get the actual data
            List <Program> info = sysmgr.Program_List();

            ProgramSelectionList.DataSource = info;
            ProgramSelectionList.DataBind();
        }
コード例 #30
0
        public void SetUp()
        {
            _programServiceMock = new Mock <IProgramService>();
            _fixture            = new ProgramController(_programServiceMock.Object, new Mock <IUserImpersonationService>().Object)
            {
                Request        = new HttpRequestMessage(),
                RequestContext = new HttpRequestContext()
            };

            AutoMapperConfig.RegisterMappings();
        }
コード例 #31
0
        static void Main(string[] args)
        {
            ProgramController controller = new ProgramController();
            ConsoleFrontEnd   frontEnd   = new ConsoleFrontEnd();

            frontEnd.DoApplication += controller.Apply;
            frontEnd.DoWithdraw    += controller.Withdraw;


            frontEnd.ExecutionLoop();
        }