public void GroupsTogether() { var input = new List <OutputPathStepInfo> { new OutputPathStepInfo { VelocityX = 1, VelocityY = 0xf6, FrameCount = 1 }, new OutputPathStepInfo { VelocityX = 1, VelocityY = 0xf6, FrameCount = 4 }, new OutputPathStepInfo { VelocityX = 1, VelocityY = 0xf6, FrameCount = 1 }, }; var result = _transformer.ProcessPath(input); var expected = new List <OutputPathStepInfo> { new OutputPathStepInfo { VelocityX = 1, VelocityY = 0xf6, FrameCount = 6 }, EndCode }; CollectionAssert.AreEqual(expected.ToStringCollection(), result.ToStringCollection()); }
private IEnumerable <OutputPathStepInfo> ProcessDeltaPath(List <PathStepDefinition> steps) { var firstTransformer = new SmoothInputPathTransformer(); var secondTransformer = new OutputPathCoalesceTransformer(); var finalPath = firstTransformer.TransformPath(steps); finalPath = secondTransformer.ProcessPath(finalPath); return(finalPath); }