public void SetValue() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph<Color>(colors); colorsTimeRange.SetValueAt(2.0f / 3.0f, Color.Green); Assert.AreEqual(Color.Green, colorsTimeRange.Values[2]); }
public void SetValue() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph <Color>(colors); colorsTimeRange.SetValueAt(2.0f / 3.0f, Color.Green); Assert.AreEqual(Color.Green, colorsTimeRange.Values[2]); }
public void AddValueBySettingAtInexistantPercentage() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph <Color>(colors); colorsTimeRange.SetValueAt(0.2f, Color.Green); Assert.AreEqual(5, colorsTimeRange.Values.Length); }
public void TryingToSetValueWithInvalidIndexHasNotEffect() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph <Color>(colors); Assert.AreEqual(4, colorsTimeRange.Values.Length); colorsTimeRange.SetValue(100, Color.Green); Assert.AreEqual(4, colorsTimeRange.Values.Length); }
public void SettingDefaultPercentagesForNumberOfValues() { var points = new List<Vector2D>(new[] { Vector2D.Zero, Vector2D.UnitX, Vector2D.UnitY, Vector2D.UnitY, Vector2D.One }); var pointsTimeRange = new TimeRangeGraph<Vector2D>(points); Assert.AreEqual(new[] { 0.0f, 0.25f, 0.5f, 0.75f, 1.0f }, pointsTimeRange.Percentages); Assert.AreEqual(points.ToArray(), pointsTimeRange.Values); }
public void SetDefaultPercentagesWithJustStartAndEnd() { var vectorTimeRange = new TimeRangeGraph<Vector3D>(); var colors = new[] { Color.Black, Color.Green }; var colorTimeRange = new TimeRangeGraph<Color>(colors[0], colors[1]); Assert.AreEqual(new[] { 0.0f, 1.0f }, vectorTimeRange.Percentages); Assert.AreEqual(new[] { 0.0f, 1.0f }, colorTimeRange.Percentages); Assert.AreEqual(colors, colorTimeRange.Values); }
public void CannotAddOrSetValueOutsideScope() { var colorsTimeRange = new TimeRangeGraph <Color>(); Assert.Throws <TimeRangeGraph <Color> .PercentageOutsideScope>( () => { colorsTimeRange.AddValueAt(1.2f, Color.Green); }); Assert.Throws <TimeRangeGraph <Color> .PercentageOutsideScope>( () => { colorsTimeRange.AddValueAt(-0.2f, Color.Black); }); }
public void SetDefaultPercentagesWithJustStartAndEnd() { var vectorTimeRange = new TimeRangeGraph <Vector3D>(); var colors = new[] { Color.Black, Color.Green }; var colorTimeRange = new TimeRangeGraph <Color>(colors[0], colors[1]); Assert.AreEqual(new[] { 0.0f, 1.0f }, vectorTimeRange.Percentages); Assert.AreEqual(new[] { 0.0f, 1.0f }, colorTimeRange.Percentages); Assert.AreEqual(colors, colorTimeRange.Values); }
public void CannotSetPercentagesToInconsistentValues() { var colors = new List<Color>(new[] { Color.Orange, Color.PaleGreen, Color.Gold }); var colorsTimeRange = new TimeRangeGraph<Color>(colors); Assert.IsFalse( colorsTimeRange.TrySetAllPercentagesNoOrderChange(new List<float>(new[] { 0.0f }))); Assert.IsFalse( colorsTimeRange.TrySetAllPercentagesNoOrderChange( new List<float>(new[] { 0.1f, 1.0f, 0.2f }))); }
public void SettingDefaultPercentagesForNumberOfValues() { var points = new List <Vector2D>(new[] { Vector2D.Zero, Vector2D.UnitX, Vector2D.UnitY, Vector2D.UnitY, Vector2D.One }); var pointsTimeRange = new TimeRangeGraph <Vector2D>(points); Assert.AreEqual(new[] { 0.0f, 0.25f, 0.5f, 0.75f, 1.0f }, pointsTimeRange.Percentages); Assert.AreEqual(points.ToArray(), pointsTimeRange.Values); }
public void TrySettingPercentagesWithoutOrderChange() { var colors = new List<Color>(new[] { Color.Orange, Color.PaleGreen, Color.Gold, Color.Purple }); var colorsTimeRange = new TimeRangeGraph<Color>(colors); Assert.IsFalse(colorsTimeRange.TrySetPercentageNoOrderChange(1, 0.0f)); Assert.IsFalse(colorsTimeRange.TrySetPercentageNoOrderChange(1, 0.8f)); Assert.IsFalse(colorsTimeRange.TrySetPercentageNoOrderChange(0, 0.1f)); Assert.IsTrue(colorsTimeRange.TrySetPercentageNoOrderChange(1, 0.2f)); Assert.IsTrue(colorsTimeRange.TrySetPercentageNoOrderChange(2, 0.9f)); }
public void AddValueAtPercentage() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph <Color>(colors); colorsTimeRange.AddValueAt(0.9f, Color.Black); var expectedColors = new[] { colors[0], colors[1], colors[2], Color.Black, colors[3] }; Assert.AreEqual(expectedColors, colorsTimeRange.Values); Assert.AreEqual(Color.Black, colorsTimeRange.GetInterpolatedValue(0.9f)); }
public void CannotSetPercentagesToInconsistentValues() { var colors = new List <Color>(new[] { Color.Orange, Color.PaleGreen, Color.Gold }); var colorsTimeRange = new TimeRangeGraph <Color>(colors); Assert.IsFalse( colorsTimeRange.TrySetAllPercentagesNoOrderChange(new List <float>(new[] { 0.0f }))); Assert.IsFalse( colorsTimeRange.TrySetAllPercentagesNoOrderChange( new List <float>(new[] { 0.1f, 1.0f, 0.2f }))); }
public void TrySettingPercentagesWithoutOrderChange() { var colors = new List <Color>(new[] { Color.Orange, Color.PaleGreen, Color.Gold, Color.Purple }); var colorsTimeRange = new TimeRangeGraph <Color>(colors); Assert.IsFalse(colorsTimeRange.TrySetPercentageNoOrderChange(1, 0.0f)); Assert.IsFalse(colorsTimeRange.TrySetPercentageNoOrderChange(1, 0.8f)); Assert.IsFalse(colorsTimeRange.TrySetPercentageNoOrderChange(0, 0.1f)); Assert.IsTrue(colorsTimeRange.TrySetPercentageNoOrderChange(1, 0.2f)); Assert.IsTrue(colorsTimeRange.TrySetPercentageNoOrderChange(2, 0.9f)); }
public void ConvertToStringAndReverse() { var points = new List <Vector2D>(new[] { Vector2D.Zero, Vector2D.UnitX, Vector2D.UnitY, Vector2D.UnitY, Vector2D.One }); var pointsTimeRange = new TimeRangeGraph <Vector2D>(points); var stringRange = pointsTimeRange.ToString(); var retrievedTimeRange = new TimeRangeGraph <Vector2D>(stringRange); Assert.AreEqual("(0: {0, 0}, 0.25: {1, 0}, 0.5: {0, 1}, 0.75: {0, 1}, 1: {1, 1})", stringRange); Assert.AreEqual(pointsTimeRange.Values, retrievedTimeRange.Values); Assert.AreEqual(pointsTimeRange.Percentages, retrievedTimeRange.Percentages); }
public void GetInterpolationValue() { var points = new List<Vector2D>(new[] { Vector2D.UnitX, Vector2D.Zero, Vector2D.One, Vector2D.UnitY }); var pointsTimeRange = new TimeRangeGraph<Vector2D>(points); Assert.IsTrue( pointsTimeRange.TrySetAllPercentagesNoOrderChange( new List<float>(new[] { 0.0f, 0.2f, 0.7f, 1.0f }))); const float ExpectedInterpolation = 4.0f / 5.0f; Assert.IsTrue( pointsTimeRange.GetInterpolatedValue(0.6f).IsNearlyEqual(Vector2D.One * ExpectedInterpolation)); Assert.AreEqual(Vector2D.UnitY, pointsTimeRange.GetInterpolatedValue(1.2f)); Assert.AreEqual(Vector2D.UnitX, pointsTimeRange.GetInterpolatedValue(-0.1f)); }
public void GetInterpolationValue() { var points = new List <Vector2D>(new[] { Vector2D.UnitX, Vector2D.Zero, Vector2D.One, Vector2D.UnitY }); var pointsTimeRange = new TimeRangeGraph <Vector2D>(points); Assert.IsTrue( pointsTimeRange.TrySetAllPercentagesNoOrderChange( new List <float>(new[] { 0.0f, 0.2f, 0.7f, 1.0f }))); const float ExpectedInterpolation = 4.0f / 5.0f; Assert.IsTrue( pointsTimeRange.GetInterpolatedValue(0.6f).IsNearlyEqual(Vector2D.One * ExpectedInterpolation)); Assert.AreEqual(Vector2D.UnitY, pointsTimeRange.GetInterpolatedValue(1.2f)); Assert.AreEqual(Vector2D.UnitX, pointsTimeRange.GetInterpolatedValue(-0.1f)); }
public void CannotAddOrSetValueOutsideScope() { var colorsTimeRange = new TimeRangeGraph<Color>(); Assert.Throws<TimeRangeGraph<Color>.PercentageOutsideScope>( () => { colorsTimeRange.AddValueAt(1.2f, Color.Green); }); Assert.Throws<TimeRangeGraph<Color>.PercentageOutsideScope>( () => { colorsTimeRange.AddValueAt(-0.2f, Color.Black); }); }
public void ConvertToStringAndReverse() { var points = new List<Vector2D>(new[] { Vector2D.Zero, Vector2D.UnitX, Vector2D.UnitY, Vector2D.UnitY, Vector2D.One }); var pointsTimeRange = new TimeRangeGraph<Vector2D>(points); var stringRange = pointsTimeRange.ToString(); var retrievedTimeRange = new TimeRangeGraph<Vector2D>(stringRange); Assert.AreEqual("(0: {0, 0}, 0.25: {1, 0}, 0.5: {0, 1}, 0.75: {0, 1}, 1: {1, 1})", stringRange); Assert.AreEqual(pointsTimeRange.Values, retrievedTimeRange.Values); Assert.AreEqual(pointsTimeRange.Percentages, retrievedTimeRange.Percentages); }
public void AddValueAtPercentage() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph<Color>(colors); colorsTimeRange.AddValueAt(0.9f, Color.Black); var expectedColors = new[] { colors[0], colors[1], colors[2], Color.Black, colors[3] }; Assert.AreEqual(expectedColors, colorsTimeRange.Values); Assert.AreEqual(Color.Black, colorsTimeRange.GetInterpolatedValue(0.9f)); }
public void AddValueBySettingAtInexistantPercentage() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph<Color>(colors); colorsTimeRange.SetValueAt(0.2f, Color.Green); Assert.AreEqual(5, colorsTimeRange.Values.Length); }
public void TryingToSetValueWithInvalidIndexHasNotEffect() { var colors = CreateColorsList(); var colorsTimeRange = new TimeRangeGraph<Color>(colors); Assert.AreEqual(4, colorsTimeRange.Values.Length); colorsTimeRange.SetValue(100, Color.Green); Assert.AreEqual(4, colorsTimeRange.Values.Length); }