示例#1
0
        static void Main(string[] args)
        {
            Task copySecurity = new Backup();
            Task antivirus    = new Antivirus();

            ICommand StartBackUp = new StartBackUpCommand(copySecurity);
            ICommand StopBackUp  = new StopBackUpCommand(copySecurity);

            ICommand StartAntivirusCommand = new StartAntivirusCommand(antivirus);
            ICommand StopAntivirusCommand  = new StopAntivirusCommand(antivirus);

            IInvoker TaskPlanner = new TaskPlanner();

            TaskPlanner.SetCommand(StartBackUp);
            TaskPlanner.Invoke();
            TaskPlanner.SetCommand(StopBackUp);
            TaskPlanner.Invoke();
            Console.WriteLine("\n");
            TaskPlanner.SetCommand(StartAntivirusCommand);
            TaskPlanner.Invoke();
            TaskPlanner.SetCommand(StopAntivirusCommand);
            TaskPlanner.Invoke();

            Console.ReadKey();
        }
示例#2
0
	// Use this for initialization
	void Awake () {
		map = GameObject.FindObjectOfType<Map> ();
		if (map == null) {
			Debug.Log("Executive Failed to get map Handle and disabled itself.");
			this.enabled = false;
		}

		taskPlanner = new TaskPlanner ();
	}
示例#3
0
        public void OnNormalDay_PlusDaysAndHours_EndDate()
        {
            TaskPlanner taskPlanner = new TaskPlanner();
            DateTime    date        = new DateTime(2017, 12, 4, 15, 0, 0);
            double      days        = 0.5;

            DateTime expected = new DateTime(2017, 12, 4, 12, 00, 00);
            DateTime result   = taskPlanner.GetFinishingDate(date, days);

            Assert.AreEqual(expected, result);
        }
示例#4
0
        public void OnNormalDay_PlusOneDay_EndDate()
        {
            TaskPlanner taskPlanner = new TaskPlanner();
            DateTime    date        = new DateTime(2017, 12, 4, 8, 0, 0);
            double      days        = 1.0;

            DateTime expected = new DateTime(2017, 12, 4, 16, 0, 0);
            DateTime result   = taskPlanner.GetFinishingDate(date, days);

            Assert.AreEqual(expected, result);
        }
示例#5
0
        public void OnNormalDay_PlusOneDayAndHoursWithWeekend_EndDate()
        {
            TaskPlanner taskPlanner = new TaskPlanner();
            DateTime    date        = new DateTime(2017, 12, 8, 11, 0, 0);
            double      days        = 1.5;

            DateTime expected = new DateTime(2017, 12, 5, 12, 0, 0);
            DateTime result   = taskPlanner.GetFinishingDate(date, days);

            Assert.AreEqual(expected, result);
        }
示例#6
0
        public void OnNormalDay_PlusAssignmentTest1_EndDate()
        {
            TaskPlanner taskPlanner = new TaskPlanner();
            DateTime    date        = new DateTime(2017, 12, 4, 15, 7, 0);
            double      days        = 0.25;

            DateTime expected = new DateTime(2017, 12, 5, 9, 7, 0);
            DateTime result   = taskPlanner.GetFinishingDate(date, days);

            Assert.AreEqual(expected, result);
        }
示例#7
0
        public void OnNormalDay_PlusAssignmentTest4_EndDate()
        {
            TaskPlanner taskPlanner = new TaskPlanner();
            DateTime    date        = new DateTime(2004, 5, 24, 8, 3, 0);
            double      days        = 12.782709;

            DateTime expected = new DateTime(2017, 6, 10, 14, 18, 0);
            DateTime result   = taskPlanner.GetFinishingDate(date, days);

            Assert.AreEqual(expected, result);
        }
示例#8
0
        public void OnGetTaskFinishingDate_With8WorkingDays()
        {
            TaskPlanner taskPlanner = new TaskPlanner();

            taskPlanner.SetWorkdayStartAndStop(new TimeSpan(8, 0, 0), new TimeSpan(16, 0, 0));
            taskPlanner.SetRecurringHoliday(new DateTime(2004, 5, 17, 0, 0, 0));
            taskPlanner.SetHoliday(new DateTime(2004, 5, 27, 0, 0, 0));

            var    start        = new DateTime(2004, 5, 24, 7, 3, 0);
            double numberOfDays = 8.276628d;

            var actual   = taskPlanner.GetTaskFinishingDate(start, numberOfDays);
            var expected = new DateTime(2004, 6, 4, 10, 12, 0);

            NUnit.Framework.Assert.AreEqual(expected, actual);
        }
示例#9
0
        public void GetTaskFinishDate_IncreaseDaysAndTime_IfStartTimeIsEarlyAndWorkingDaysIsPositive()
        {
            //Arrange
            var taskPlanner = new TaskPlanner();

            //Act
            taskPlanner.SetWorkdayStartAndStop(new TimeSpan(8, 0, 0), new TimeSpan(16, 0, 0));
            taskPlanner.SetRecuringHolidays(new DateTime(2004, 5, 17, 0, 0, 0));
            taskPlanner.SetHolidays(new DateTime(2004, 5, 27, 0, 0, 0));

            var    start        = new DateTime(2004, 5, 24, 07, 03, 0);
            double numberOfDays = 8.276628;

            var actual   = taskPlanner.GetTaskFinishDate(start, numberOfDays);
            var expected = new DateTime(2004, 6, 4, 10, 12, 0);

            //Assert
            Assert.AreEqual(expected.ToString(), actual.ToString());
        }
示例#10
0
        public void GetTaskFinishDate_DecreaseDaysAndTime_IfStartTimeIsAfterTheWorDayStopTimeAndWorkingDaysIsNegative2()
        {
            //Arrange
            var taskPlanner = new TaskPlanner();

            //Act
            taskPlanner.SetWorkdayStartAndStop(new TimeSpan(8, 0, 0), new TimeSpan(16, 0, 0));
            taskPlanner.SetRecuringHolidays(new DateTime(2004, 5, 17, 0, 0, 0));
            taskPlanner.SetHolidays(new DateTime(2004, 5, 27, 0, 0, 0));

            var    start        = new DateTime(2004, 5, 24, 18, 03, 0);
            double numberOfDays = -6.7470217;

            var actual   = taskPlanner.GetTaskFinishDate(start, numberOfDays);
            var expected = new DateTime(2004, 5, 13, 10, 02, 0);

            //Assert
            Assert.AreEqual(expected.ToString(), actual.ToString());
        }
示例#11
0
        public STPlanner()
        {
            TBWriter.Spaced("Simple Task Planner, Version 0.98798");

            TextBoxStreamWriter.DefaultLog.WriteLine(0, "asdasd as asd ");
            TextBoxStreamWriter.DefaultLog.WriteLine(0, "Builded 16/feb/13 , 15:351 p.m.");
            TextBoxStreamWriter.DefaultLog.WriteLine(0, "");

            cmdMan = new STPCommandManager();
            cnnMan = new ConnectionManager(connectionPort, this.cmdMan);

            TBWriter.Write("   Connection Port = " + connectionPort.ToString());


            this.cnnMan.ClientConnected += new System.Net.Sockets.TcpClientConnectedEventHandler(cnnMan_ClientConnected);
            TBWriter.Spaced(TBWriter.time() + "      Waiting for Blackboard Connection . . .");


            taskPlanner = new TaskPlanner(cmdMan, this);

            LoadCommands();

            sharedVarConnected   = new StringSharedVariable("connected");
            sharedVarSkeletons   = new StringSharedVariable("skeletons");
            sharedVarOdometryPos = new DoubleArraySharedVariable("odometryPos");
            sharedVarHdPos       = new DoubleArraySharedVariable("hd_pos");
            sharedVarTorso       = new DoubleArraySharedVariable("torsoPosition");
            sharedVarRobotRegion = new StringSharedVariable("robotRoom");


            //cmdMan.SharedVariablesLoaded += new SharedVariablesLoadedEventHandler(cmdMan_SharedVariablesLoaded);


            cnnMan.Start();
            TBWriter.Write(3, "    >   Connection Manager Started");
            cmdMan.Start();
            TBWriter.Write(3, "    >   Command Manager Started");


            //if(!sharedVarLoadEvent) TBWriter.Spaced("      Waiting for Shared Variables Load from BlackBoard . . .")
        }
示例#12
0
        public TaskTypeTwo()
        {
            _tasks = new List <Task>()
            {
                new Task()
                {
                    Name = "A", Duration = 1
                },
                new Task()
                {
                    Name = "B", Duration = 3
                },
                new Task()
                {
                    Name = "C", Duration = 2
                },
                new Task()
                {
                    Name = "D", Duration = 1
                }
            };

            _executors = new List <Executor>()
            {
                new Executor()
                {
                    Name = "Василий"
                },
                new Executor()
                {
                    Name = "Пётр"
                }
            };

            _taskPlanner = new TaskPlanner()
            {
                Tasks     = _tasks,
                Executors = _executors
            };
        }
示例#13
0
        private static void TaskTypeTwo()
        {
            var taskPlanner = new TaskPlanner();

            var menuItem = 4;

            do
            {
                Console.WriteLine("------------------------------------------------");
                Console.WriteLine("Меню:");
                Console.WriteLine("1 - Добавить работу");
                Console.WriteLine("2 - Добавить исполнителя");
                Console.WriteLine("3 - Вывести план");
                Console.WriteLine("4 - Выход");

                IOHelper.ReadValueSafely(ref menuItem, "пункт меню");

                switch (menuItem)
                {
                case 1:
                    taskPlanner.Tasks.Add(ReadTask());
                    break;

                case 2:
                    taskPlanner.Executors.Add(ReadExecutor());
                    break;

                case 3:
                    PrintTimeTable(taskPlanner.Plan);
                    break;

                default:
                    continue;
                }
            } while (menuItem != 4);
        }
示例#14
0
 public CmdExecuteLearn(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("executelearned")
 {
     this.taskPlanner = taskPlanner;
     this.cmdMan      = cmdMan;
 }
示例#15
0
 public CmdDoPresentation(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("dopresentation")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#16
0
 public CmdFindHuman(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("find_human")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#17
0
 public CmdFindOnShelf(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("findonshelf")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#18
0
 public CmdDrop(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("drop")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#19
0
 public CmdDetectCubes(STPCommandManager cmdMan, TaskPlanner taskPln)
     : base("detectcubes")
 {
     this.cmdMan  = cmdMan;
     this.taskPln = taskPln;
 }
示例#20
0
 public CmdAutolocalization(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("autolocalization")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#21
0
 public CmdStopLearn(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("stoplearn")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#22
0
 public CmdAligneHuman(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("align_human")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#23
0
 public CmdTake(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("take")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#24
0
 public CmdFindObject(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("find_object")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#25
0
 public CmdDoTechnicalChallenge(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("dotechnicalchallenge")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#26
0
 public CmdAligneEdge(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("aligneedge")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#27
0
 public CmdPointAtObject(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("pointatobject")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#28
0
 public CmdTakeHumandHands(STPCommandManager cmdMan, TaskPlanner taskplanner)
     : base("takehumanhands")
 {
     this.cmdMan      = cmdMan;
     this.taskplanner = taskplanner;
 }
示例#29
0
 public CmdTakeHandOver(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("takehandover")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#30
0
 public CmdPFAutoDetected(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("detected")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }
示例#31
0
 public CmdTakeFromShelf(STPCommandManager cmdMan, TaskPlanner taskPlanner)
     : base("takefromshelf")
 {
     this.cmdMan      = cmdMan;
     this.taskPlanner = taskPlanner;
 }