private IKaVEList <IVersionControlAction> ReadNewGitActionsFrom(IEnumerable <string> logContent)
        {
            var gitActions = Lists.NewList <IVersionControlAction>();

            foreach (var logEntry in logContent)
            {
                var executedAt = ExtractExecutedAtFrom(logEntry);
                var actionType = ExtractActionTypeFrom(logEntry);

                if (executedAt == null || actionType == VersionControlActionType.Unknown)
                {
                    continue;
                }

                var newAction = new VersionControlAction
                {
                    ExecutedAt = executedAt.Value,
                    ActionType = actionType
                };

                if (!_oldActions.Contains(newAction))
                {
                    _oldActions.Add(newAction);
                    gitActions.Add(newAction);
                }
            }

            return(gitActions);
        }
        public void DefaultValues()
        {
            var uut = new VersionControlAction();

            Assert.AreEqual(new DateTimeOffset(), uut.ExecutedAt);
            Assert.AreEqual(VersionControlActionType.Unknown, uut.ActionType);
        }
        public void Equality_Default()
        {
            var a = new VersionControlAction();
            var b = new VersionControlAction();

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void SettingValues()
        {
            var actualEvent = new VersionControlAction
            {
                ExecutedAt = SomeDateTime,
                ActionType = SomeGitAction
            };

            Assert.AreEqual(SomeDateTime, actualEvent.ExecutedAt);
            Assert.AreEqual(SomeGitAction, actualEvent.ActionType);
        }
        public void Equality_DifferentActionType()
        {
            var a = new VersionControlAction {
                ExecutedAt = SomeDateTime, ActionType = SomeGitAction
            };
            var b = new VersionControlAction {
                ExecutedAt = SomeDateTime
            };

            Assert.AreNotEqual(a, b);
            Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode());
        }
        public void Equality_ReallyTheSame()
        {
            var a = new VersionControlAction {
                ExecutedAt = SomeDateTime, ActionType = SomeGitAction
            };
            var b = new VersionControlAction {
                ExecutedAt = SomeDateTime, ActionType = SomeGitAction
            };

            Assert.AreEqual(a, b);
            Assert.AreEqual(a.GetHashCode(), b.GetHashCode());
        }