private ChangeSetHistory ReadExportFile() { _tracking = new MovementTracker(); var result = new List <ChangeSet>(); using (var reader = XmlReader.Create(_logFile)) { while (reader.Read()) { if (reader.IsStartElement("logentry")) { ParseLogEntry(reader, result); } } } // First item is latest commit because we got the by ordering Debug.Assert(result.First().Date >= result.Last().Date); Warnings = _tracking.Warnings; var history = new ChangeSetHistory(result); history.CleanupHistory(); return(history); }
public void ItemSeenFirst_GetsUniqueId([Values( KindOfChange.Add, KindOfChange.Rename, KindOfChange.Delete, KindOfChange.Edit )] KindOfChange kind) { var tracker = new MovementTracker(); var previousServerPath = kind == KindOfChange.Rename ? "previous_path" : null; tracker.BeginChangeSet(new ChangeSet()); var ci = new ChangeItem { ServerPath = "current_path", FromServerPath = previousServerPath, Kind = kind }; tracker.BeginChangeSet(new ChangeSet()); tracker.TrackId(ci); tracker.ApplyChangeSet(new List <ChangeItem>()); var id = ci.Id; Assert.NotNull(id); Assert.IsTrue(Guid.TryParse(id, out var uuid)); // Is a uuid }
private void UpdateHistory() { var log = _gitCli.Log(); var parser = new Parser(_mapper, null); parser.WorkItemRegex = _workItemRegex; var history = parser.ParseLogString(log); // Update Ids for files var tracker = new MovementTracker(); foreach (var cs in history.ChangeSets) { tracker.BeginChangeSet(cs); foreach (var item in cs.Items) { tracker.TrackId(item); } cs.Items.Clear(); tracker.ApplyChangeSet(cs.Items); } Warnings = tracker.Warnings; // Write history file var json = JsonConvert.SerializeObject(history, Formatting.Indented); File.WriteAllText(_gitHistoryExportFile, json, Encoding.UTF8); // For information File.WriteAllText(Path.Combine(_cachePath, @"git_full_history.txt"), log); }
public MovementTrackerControl(MovementTracker movementTracker) : this() { mPlugin = movementTracker; mPlugin.TimeChanged += new Action(mPlugin_TimeChanged); mPlugin.StateChanged += new Action(mPlugin_StateChanged); stateLabel.Text = "State: " + movementTracker.ExperimentState; }
public void TestLargeEnoughToChange() { var movementTracker = new MovementTracker(); float[] testFloats = { 1f, 1f, 2f, 2f, 0f, 0f, 0f, 0f, 0f, 0f }; movementTracker.GetAgentMemory(new Vector3(1, 1, 1)); Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(2, 1, 2))); }
public Task <Turn> PlayTurn(PlayTurnRequest request) { var avoidCombat = false; return(Strategic()); Task <Turn> Strategic() { return(request.IsCombat ? StrategicCombat() : StrategicNonCombat()); } Task <Turn> StrategicCombat() { if (!request.IsCombat) { return(Task.FromResult(new Turn(TurnAction.Attack))); } if (HealthChecker.NeedsToChug(request.PartyMember) && request.PossibleActions.Contains(TurnAction.DrinkPotion)) { return(Task.FromResult(new Turn(TurnAction.DrinkPotion))); } return(Task.FromResult(new Turn(TurnAction.Attack, Targeter.GetPriorityTarget(request.PossibleTargets)))); } Task <Turn> StrategicNonCombat() { if (request.PossibleActions.Contains(TurnAction.Attack) && _random.NextDouble() > 0.5) { return(StrategicCombat()); } var movements = MovementTracker.GetMovementActions(); if (request.PossibleActions.Contains(TurnAction.Loot)) { return(Task.FromResult(new Turn(TurnAction.Loot))); } if (request.PossibleActions.Contains(TurnAction.Open)) { return(Task.FromResult(new Turn(TurnAction.Open))); } var movementoptions = request.PossibleActions.Where(s => movements.Contains(s)); var direction = movetracker.GetNextDirection(movementoptions.ToList(), request.PartyLocation); Debug.WriteLine(direction); return(Task.FromResult(new Turn(direction))); } }
public void TestInitialFloatArray() { var movementTracker = new MovementTracker(); var testFloats = new float[10]; for (var i = 0; i < 2; i++) { testFloats[i] = 1; } Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(1, 1, 1))); }
private void Start() { if (instance == null) { instance = this; } else if (instance != this) { Debug.LogError("Multiple instances of MovementTracker!"); } }
public void TestTooSmallToChange() { var movementTracker = new MovementTracker(); var testFloats = new float[10]; for (var i = 0; i < 2; i++) { testFloats[i] = 1; } movementTracker.GetAgentMemory(new Vector3(1, 1, 1)); Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(1, 1, 0.5f))); }
public void TestFullList() { var movementTracker = new MovementTracker(); float[] testFloats = { 1f, 1f, 2f, 2f, 3f, 3f, 4f, 4f, 5f, 5f }; movementTracker.GetAgentMemory(new Vector3(1, 1, 1)); movementTracker.GetAgentMemory(new Vector3(2, 1, 2)); movementTracker.GetAgentMemory(new Vector3(3, 1, 3)); movementTracker.GetAgentMemory(new Vector3(4, 1, 4)); Assert.AreEqual(testFloats, movementTracker.GetAgentMemory(new Vector3(5, 1, 5))); }
public void InvalidArguments_RenameHasNoPreviousServerPath() { var tracker = new MovementTracker(); var ci = new ChangeItem { Kind = KindOfChange.Rename }; StartChangeSet(); Assert.Throws <ArgumentException>(() => tracker.TrackId(ci)); EndChangeSet(); }
public void InvalidArguments_NonRenameHasPreviousServerPath() { var tracker = new MovementTracker(); var ci = new ChangeItem { Kind = KindOfChange.Edit, FromServerPath = "unexpected" }; StartChangeSet(); Assert.Throws <ArgumentException>(() => tracker.TrackId(ci)); EndChangeSet(); }
public ScaleGesture(Game game, MovementTracker tracker) : base(game) { _tracker = tracker; }
public TranslationGesture(Game game, MovementTracker tracker, JointID cursor = JointID.HandRight) : base(game) { _cursor = cursor; _tracker = tracker; }
protected override void Awake() { base.Awake(); _movementTracker = new MovementTracker(Quarry, _trackingInterval); _movementTracker.enabled = Quarry != null; }
public void SetUp() { _tracker = new MovementTracker(); }
public RotateGesture(Game game, MovementTracker tracker) : base(game) { _tracker = tracker; _matrix = Matrix.Identity; }
protected override void Awake() { base.Awake(); _movementTracker = new MovementTracker(Menace, _trackingInterval); _movementTracker.enabled = Menace != null; }
private void Start() { instance = this; this.hexNodes = new List <HexNode>(); this.movementLineRenderer.positionCount = 0; }