Пример #1
0
    protected override void OnRelease(IGrabber grabber)
    {
        base.OnRelease(grabber);

        var source = GetComponent <AudioSource>();

        source.Stop();

        if (Receptacle)
        {
            transform.SetParent(Receptacle.transform);
            transform.localPosition               = Vector3.zero;
            transform.localEulerAngles            = preferedEuler;
            GetComponent <Rigidbody>().useGravity = false;
        }
        else
        {
            transform.SetParent(null);
            GetComponent <Rigidbody>().useGravity = true;
            if (grabber != null)
            {
                GetComponent <Rigidbody>().velocity        = grabber.Velocity;
                GetComponent <Rigidbody>().angularVelocity = grabber.AngularVelocity;
            }
        }
    }
Пример #2
0
        public MainWindow()
        {
            InitializeComponent();

            CreateCommands();

            //grabber = new HttpGrabber();
            grabber = new DefaultGrabber();

            grabber.Start(new CameraEntity());
            grabber.GrabberSubject.Subscribe(_ => ImageFrame = _.JpegData);

            ptz = new HttpPtz();
            //ptz = new CanonHttpPtz();
            var model = new CameraModel();

            //UpdateInfo(model);
            UpdateDahuaPtzInfo(model);

            ptz.Open(new CameraEntity()
            {
                Model = model,
                //IpAddress = "192.168.100.100",
                Login     = "******",
                Password  = "******",
                IpAddress = "192.168.111.127",
            });

            DataContext = this;
        }
        public void CloneWhenRevisionIsNotEmptyTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                SubpathToTrunk  = "subpath",
                IncludeMetaData = true,
                NoBranches      = true,
                NoTags          = true,
                RootIsTrunk     = false,
                Revision        = "123:456"
            };

            string expectedArguments = "svn fetch -r 123:456";

            mock.Setup(
                f => f.Run("git", expectedArguments, It.IsAny <Action <string> >(), null, null, Timeout.InfiniteTimeSpan)
                ).Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(
                f => f.Run("git", expectedArguments, It.IsAny <Action <string> >(), null, null, Timeout.InfiniteTimeSpan),
                Times.Once()
                );
        }
        public void CloneWhenRootIsNotTrunkHasSubPathToTrunkGitCommandExecutionFailTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                SubpathToTrunk  = "subpath",
                IncludeMetaData = true,
                NoBranches      = true,
                NoTags          = true,
                RootIsTrunk     = false,
            };

            string expectedExceptionMessage = string.Format(ExceptionHelper.ExceptionMessage.FAIL_TO_EXECUTE_COMMAND, $"git svn init --prefix=svn/ --trunk=\"subpath\" {_testSvnUrl}");

            mock.Setup(f => f.RunGitSvnInteractiveCommand(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(-1);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            Exception ex = Record.Exception(() => grabber.Clone());

            // Assert
            Assert.IsType <MigrateException>(ex);
            Assert.Equal(expectedExceptionMessage, ex.Message);
        }
        public void CloneWhenRootIsNotTrunkHasSubPathToTrunkAndBranchesTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                SubpathToTrunk  = "subpath",
                IncludeMetaData = true,
                NoBranches      = false,
                NoTags          = true,
                RootIsTrunk     = false,
                Branches        = new List <string>()
                {
                    "branch1",
                    "branch2"
                }
            };

            string expectedArguments = $"svn init --prefix=svn/ --trunk=\"subpath\" --branches=\"branch1\" --branches=\"branch2\" {_testSvnUrl}";

            mock.Setup(f => f.Run("git", It.IsAny <string>()))
            .Returns(0);

            mock.Setup(f => f.RunGitSvnInteractiveCommand(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(f => f.RunGitSvnInteractiveCommand(expectedArguments, options.Password), Times.Once());
        }
        public void CloneWhenRootIsTrunkHasMinimizeUrlTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                IncludeMetaData = true,
                NoMinimizeUrl   = true,
                RootIsTrunk     = true
            };

            string expectedArguments = $"svn init --prefix=svn/ --no-minimize-url --trunk=\"/\" {_testSvnUrl}";

            mock.Setup(f => f.Run("git", It.IsAny <string>())).Returns(0);

            mock.Setup(f => f.RunGitSvnInteractiveCommand(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(f => f.RunGitSvnInteractiveCommand(expectedArguments, options.Password), Times.Once());
        }
Пример #7
0
        public void FetchRebaseBranchesNoMatchedRemoteBranchTest()
        {
            // Prepare
            var mock             = new Mock <ICommandRunner>();
            var localBranchInfo  = "*dev";
            var remoteBranchInfo = $"*master{Environment.NewLine}dev1{Environment.NewLine}dev2{Environment.NewLine}dev3";

            mock.Setup(f => f.Run("git", "branch -l --no-color", out localBranchInfo))
            .Returns(0);

            mock.Setup(f => f.Run("git", "branch -r --no-color", out remoteBranchInfo))
            .Returns(0);

            var options = new Options()
            {
                RebaseBranch = "dev"
            };

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            Exception ex = Record.Exception(() => grabber.FetchRebaseBraches());

            // Assert
            Assert.IsType <MigrateException>(ex);
            Assert.Equal(string.Format(ExceptionHelper.ExceptionMessage.NO_REMOTE_BRANCH_FOUND, options.RebaseBranch), ex.Message);
        }
        public void CloneWhenRootIsNotTrunkWithoutBranchesAndTagsTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                IncludeMetaData = true,
                NoBranches      = true,
                NoTags          = true,
                RootIsTrunk     = false
            };

            string expectedArguments = $"svn init --prefix=svn/ {_testSvnUrl}";

            mock.Setup(f => f.Run("git", It.IsAny <string>())).Returns(0);

            mock.Setup(f => f.RunGitSvnInteractiveCommand(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(f => f.RunGitSvnInteractiveCommand(expectedArguments, options.Password), Times.Once());
        }
        public void CloneWhenAuthorsIsNotEmptyTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                SubpathToTrunk  = "subpath",
                IncludeMetaData = true,
                NoBranches      = true,
                NoTags          = true,
                RootIsTrunk     = false,
                Authors         = "author1"
            };

            string expectedArguments = "config svn.authorsfile author1";

            mock.Setup(f => f.RunGitSvnInteractiveCommand(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(0);

            mock.Setup(f => f.Run("git", It.IsAny <string>())).Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object, "config");

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(f => f.Run("git", expectedArguments), Times.Once());
        }
Пример #10
0
        public void FetchRebaseBranchesSingleMatchingRemoteBranchTest()
        {
            // Prepare
            var mock = new Mock <ICommandRunner>();

            var localBranchInfo  = "*dev";
            var remoteBranchInfo = $"*master{Environment.NewLine}dev";

            mock.Setup(f => f.Run("git", "branch -l --no-color", out localBranchInfo))
            .Returns(0);

            mock.Setup(f => f.Run("git", "branch -r --no-color", out remoteBranchInfo))
            .Returns(0);

            var options = new Options()
            {
                RebaseBranch = "dev"
            };

            var expected = new List <string>(new string[]
            {
                "dev"
            });

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.FetchRebaseBraches();
            var actual = grabber.GetMetaInfo().LocalBranches;

            // Assert
            Assert.Equal(expected, actual);
        }
        public void CloneUserNameAndPasswordAreEmptyStrings()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                UserName        = "******",
                UserNameMethod  = CredentialsMethod.empty_string,
                Password        = "******",
                PasswordMethod  = CredentialsMethod.empty_string,
                IncludeMetaData = false,
                NoMinimizeUrl   = true,
                RootIsTrunk     = true
            };

            string expectedArguments = $"svn init --prefix=svn/ --username=\"\" --no-metadata --no-minimize-url --trunk=\"/\" {_testSvnUrl}";

            mock.Setup(f => f.Run("git", It.IsAny <string>())).Returns(0);

            mock.Setup(f => f.RunGitSvnInteractiveCommand(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(f => f.RunGitSvnInteractiveCommand(expectedArguments, string.Empty), Times.Once());
        }
Пример #12
0
        public void FetchRebaseBranchesTooManyMatchingLocalBranchesTest()
        {
            // Prepare
            var mock             = new Mock <ICommandRunner>();
            var localBranchInfo  = $"*master{Environment.NewLine}dev{Environment.NewLine}dev";
            var remoteBranchInfo = "dev";

            mock.Setup(f => f.Run("git", "branch -l --no-color", out localBranchInfo))
            .Returns(0);
            mock.Setup(f => f.Run("git", "branch -r --no-color", out remoteBranchInfo))
            .Returns(0);

            var options = new Options()
            {
                RebaseBranch = "dev"
            };

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            Exception ex = Record.Exception(() => grabber.FetchRebaseBraches());

            // Assert
            Assert.IsType <MigrateException>(ex);
            Assert.Equal(ExceptionHelper.ExceptionMessage.TOO_MANY_MATCHING_LOCAL_BRANCHES, ex.Message);
        }
        public void CloneWhenExcludeIsNotEmptyRootIsTrunkTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                IncludeMetaData = true,
                NoBranches      = true,
                NoTags          = true,
                RootIsTrunk     = true,
                Exclude         = new List <string>()
                {
                    "ex1",
                    "ex2"
                }
            };

            string ignorePathsRegEx  = @"^(?:)(?:ex1|ex2)";
            string expectedArguments = $"svn fetch --ignore-paths=\"{ignorePathsRegEx}\"";

            mock.Setup(
                f => f.Run("git", It.IsAny <string>())
                ).Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert
            mock.Verify(
                f => f.Run("git", expectedArguments, It.IsAny <Action <string> >(), null, null, Timeout.InfiniteTimeSpan),
                Times.Once()
                );
        }
Пример #14
0
 protected virtual void OnGrabberExit(IGrabber grabber)
 {
     if (!IsGrabbed)
     {
         indicator.SetActive(false);
     }
 }
 public SmartWorkingMan(IGrabber imageGrabber)
 {
     _imageGrabber = imageGrabber;
     _worker = new BackgroundWorker() { WorkerReportsProgress = true, WorkerSupportsCancellation = true };
     _worker.DoWork += worker_DoWork;
     _worker.ProgressChanged += worker_ProgressChanged;
     _worker.RunWorkerCompleted += worker_RunWorkerCompleted;
 }
Пример #16
0
        public void GetMetaInfoTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options()
            {
                SubpathToTrunk  = "subpath",
                IncludeMetaData = true,
                NoBranches      = false,
                NoTags          = false,
                RootIsTrunk     = false,
                Exclude         = new List <string>()
                {
                    "ex1",
                    "ex2"
                },
                Tags = new List <string>()
                {
                    "tag1",
                    "tag2"
                },
                Branches = new List <string>()
                {
                    "branch1",
                    "branch2"
                }
            };

            var standardOutput = "*branch1";

            mock.Setup(f => f.Run("git", "branch -l --no-color", out standardOutput))
            .Returns(0);

            standardOutput = "svn/tags/branch2";
            mock.Setup(f => f.Run("git", "branch -r --no-color", out standardOutput))
            .Returns(0);

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.FetchBranches();
            var actual = grabber.GetMetaInfo();

            // Assert
            Assert.Equal(new List <string>()
            {
                "svn/tags/branch2"
            }, actual.Tags);
            Assert.Equal(new List <string>()
            {
                "branch1"
            }, actual.LocalBranches);
            Assert.Equal(new List <string>()
            {
                "svn/tags/branch2"
            }, actual.RemoteBranches);
        }
 public ServerManager(ILogger <ServerManager> logger, Grabber grabber, FFmpegAsProcess transcoder)
 {
     _grabber        = grabber;
     _transcoder     = transcoder;
     _logger         = logger;
     TranscoderCache = _transcoder.TranscoderCache;
     CheckTranscodingCache().Start();
     _logger.LogInformation($"{nameof(ServerManager)} initialized");
 }
Пример #18
0
        /// <summary>
        /// Ctor
        /// </summary>
        public GrabberApp()
        {
            string connStr = ConfigurationManager.AppSettings["DataAccessConnectionString"];

            DataAccess = new SqliteDataAccessService(connStr);
            Grabber    = new GismeteoGrabber();
            TypeDescriptor.AddAttributes(typeof(Dm.WeatherForecast.Client.Grabber.Contract.Forecast), new TypeConverterAttribute(typeof(GrabberForecastConverter)));
            TinyMapper.Bind <Dm.WeatherForecast.Client.Grabber.Contract.Forecast, Dm.WeatherForecast.DataAccess.Contract.Forecast>();
        }
Пример #19
0
        public void Move(IGrabber grabber)
        {
            if (_isPaused)
            {
                return;
            }

            _grabbableMover.Move();
            OnMovedGrab?.Invoke(grabber, this);
        }
Пример #20
0
        public GrabberController(IUnityContainer container, IGrabber grabber)
        {
            _container = container;

            Grabber = grabber;
            if (Grabber != null)
            {
                Grabber.FinishedGrab += Grabber_FinishedGrab;
            }
        }
Пример #21
0
        private void Injection(IGrabSystem grabSystem, IInputController inputController)
        {
            _grabSystem      = grabSystem;
            _inputController = inputController;

            _grabber              = GetComponent <IGrabber>();
            _grabber.OnTouched   += HandleGrabberOnTouched;
            _grabber.OnUntouched += HandleGrabberOnUntouched;

            _injected = true;
        }
Пример #22
0
 protected override void OnRelease(IGrabber grabber)
 {
     if (MusicBoxTargeted)
     {
         MusicBoxAssignated = MusicBoxTargeted;
         MusicBoxTargeted   = null;
         MusicBoxAssignated.ChangeSound(clip);
         var joint = GetComponent <SpringJoint>();
         joint.connectedBody = MusicBoxAssignated.gameObject.GetComponent <Rigidbody>();
     }
 }
Пример #23
0
 public virtual bool TryGrab(IGrabber grab)
 {
     if (!CanGrab(grab))
     {
         return(false);
     }
     IsGrabbed = true;
     grabber   = grab;
     OnGrabbed();
     return(true);
 }
Пример #24
0
        private void OnStart()
        {
            IsStarted = true;

            _grabber = ServiceLocator.Current.GetInstance <IGrabber>(SelectedSource.TypeName);
            _grabber.ProgressReport   += GrabberOnProgressReport;
            _grabber.ProgressChanged  += GrabberOnProgressChanged;
            _grabber.GrabbingFinished += GrabberOnGrabbingFinished;

            _grabber.StartAsync(new DirectoryCheckStrategy(_cacheFilePaths));
        }
Пример #25
0
        //
        #endregion

        public SmartWorkingMan(IGrabber imageGrabber)
        {
            _imageGrabber = imageGrabber;
            _worker       = new BackgroundWorker()
            {
                WorkerReportsProgress = true, WorkerSupportsCancellation = true
            };
            _worker.DoWork             += worker_DoWork;
            _worker.ProgressChanged    += worker_ProgressChanged;
            _worker.RunWorkerCompleted += worker_RunWorkerCompleted;
        }
Пример #26
0
        private void Injection(IGrabSystem grabSystem)
        {
            _grabSystem = grabSystem;

            _grabber = GetComponent <IGrabber>();
            _hand    = GetComponent <IHand>();

            _grabber.OnTouched   += HandleGrabberOnTouched;
            _grabber.OnUntouched += HandleGrabberOnUntouched;

            _injected = true;
        }
Пример #27
0
    public bool TryRelease(IGrabber grab)
    {
        if (Grabber != grab)
        {
            return(false);
        }

        IsGrabbed = false;
        Grabber   = null;
        OnRelease(grab);
        return(true);
    }
        public void FetchWithLimitedRetriesButWithProgressMadeTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options
            {
                FetchAttempts = 1
            };

            List <string> responses = new List <string>
            {
                "r127 = somehash (ref/somewhere/svn)",
                "r128 = somehash (ref/somewhere/svn)",
                "r129 = somehash (ref/somewhere/svn)"
            };

            int timesCalled = 0;

            mock.Setup(
                f => f.Run("git", It.IsAny <string>(), It.IsAny <Action <string> >(), null, null, Timeout.InfiniteTimeSpan)
                )
            .Returns(
                delegate(string cmd, string arguments, Action <string> onStdout, Action <string> onStdErr, string workDir, TimeSpan timeout)
            {
                onStdout(responses[timesCalled]);

                ++timesCalled;

                if (timesCalled >= responses.Count)
                {
                    return(0);
                }
                else
                {
                    return(128);
                }
            }
                );

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert

            // Times it will be called:
            // 1 - to go from rev -1 to rev 127 (we treat this as making progress)
            // 2 - to go from rev 127 to rev 128 (Made Progress)
            // 3 - to go from rev 128 to rev 129 (Made Progress, returns 0, breaks out)
            Assert.Equal(responses.Count, timesCalled);
        }
        public void FetchWithLimitedRetriesButWithNoProgressMadeAfter1FailureTest()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options
            {
                FetchAttempts = 1
            };

            List <Tuple <string, int> > responses = new List <Tuple <string, int> >
            {
                new Tuple <string, int>("r126 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r127 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r128 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r128 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r128 = somehash (ref/somewhere/svn)", 128)
            };

            int timesCalled = 0;

            mock.Setup(
                f => f.Run("git", It.IsAny <string>(), It.IsAny <Action <string> >(), null, null, Timeout.InfiniteTimeSpan)
                )
            .Returns(
                delegate(string cmd, string arguments, Action <string> onStdout, Action <string> onStdErr, string workDir, TimeSpan timeout)
            {
                onStdout(responses[timesCalled].Item1);

                return(responses[timesCalled++].Item2);
            }
                );

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            Exception ex = Record.Exception(() => grabber.Clone());

            // Assert
            Assert.IsType <MigrateException>(ex);

            // Times it will be called:
            // 1 - to go from rev -1 to rev 126 (we treat this as making progress)
            // 2 - to go from rev 126 to rev 127 (Made progress even though returned non-zero)
            // 3 - to go from rev 127 to rev 128 (Made progress even though returned non-zero)
            // 4 - to go from rev 128 to rev 128 (First Failure, did not make progress, increment attempt.)
            // 5 - to go from rev 128 to rev 128 (Attempt 1, no success.  Should throw exception).
            Assert.Equal(responses.Count, timesCalled);
        }
Пример #30
0
        public void Grab(IGrabber grabber)
        {
            Rigidbody thisRigidBody = GetComponent <Rigidbody>();

            BeatMap.Log("grab called on " + gameObject.name + " already grabbed? - " + IsGrabbed());
            if (IsGrabbed())
            {
                return;
            }
            resizing = true;
            joint    = gameObject.AddComponent <FixedJoint>();
            BeatMap.Log("Adding joint to " + gameObject.name);
            joint.connectedBody   = grabber.GetRigidBody();
            joint.anchor          = Vector3.zero;
            joint.connectedAnchor = grabber.GetJointAnchorPoint();
        }
        public void FetchWithLimitedRetriesAnMultipleFailures()
        {
            // Prepare
            var     mock    = new Mock <ICommandRunner>();
            Options options = new Options
            {
                FetchAttempts = 1
            };

            List <Tuple <string, int> > responses = new List <Tuple <string, int> >
            {
                new Tuple <string, int>("r126 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r126 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r128 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r128 = somehash (ref/somewhere/svn)", 128),
                new Tuple <string, int>("r129 = somehash (ref/somewhere/svn)", 0)
            };

            int timesCalled = 0;

            mock.Setup(
                f => f.Run("git", It.IsAny <string>(), It.IsAny <Action <string> >(), null, null, Timeout.InfiniteTimeSpan)
                )
            .Returns(
                delegate(string cmd, string arguments, Action <string> onStdout, Action <string> onStdErr, string workDir, TimeSpan timeout)
            {
                onStdout(responses[timesCalled].Item1);

                return(responses[timesCalled++].Item2);
            }
                );

            IGrabber grabber = CreateGrabber(options, mock.Object);

            // Act
            grabber.Clone();

            // Assert

            // Times it will be called:
            // 1 - to go from rev -1 to rev 126 (we treat this as making progress)
            // 2 - to go from rev 126 to rev 126 (First Failure)
            // 3 - to go from rev 126 to rev 128 (Made progress even though returned non-zero.  Attempts reset)
            // 4 - to go from rev 128 to rev 128 (First Failure for this rev, did not make progress, increment attempt.)
            // 5 - to go from rev 128 to rev 129 (Returns 0, breaks out)
            Assert.Equal(responses.Count, timesCalled);
        }