Files
tooll3--t3/Core.Tests/CurveChangeCountTests.cs
2026-07-13 13:13:17 +08:00

95 lines
2.6 KiB
C#

using T3.Core.Animation;
using T3.Core.DataTypes;
using Xunit;
namespace Core.Tests;
public class CurveChangeCountTests
{
[Fact]
public void AddOrUpdateVIncrementsChangeCountOnce()
{
var curve = new Curve();
var initial = curve.ChangeCount;
curve.AddOrUpdateV(1.0, new VDefinition { Value = 5.0 });
Assert.Equal(initial + 1, curve.ChangeCount);
}
[Fact]
public void UpdateCurveValuesFloatIncrementsChangeCountOnce()
{
var curves = new[] { new Curve() };
curves[0].AddOrUpdateV(0.0, new VDefinition { Value = 0.0 });
var initial = curves[0].ChangeCount;
Curve.UpdateCurveValues(curves, 0.0, new float[] { 1.0f });
Assert.Equal(initial + 1, curves[0].ChangeCount);
}
[Fact]
public void UpdateCurveValuesIntIncrementsChangeCountOnce()
{
var curves = new[] { new Curve() };
curves[0].AddOrUpdateV(0.0, new VDefinition
{
Value = 0.0,
InInterpolation = VDefinition.KeyInterpolation.Constant,
OutInterpolation = VDefinition.KeyInterpolation.Constant
});
var initial = curves[0].ChangeCount;
Curve.UpdateCurveValues(curves, 0.0, new int[] { 2 });
Assert.Equal(initial + 1, curves[0].ChangeCount);
}
[Fact]
public void RemoveKeyframeIncrementsChangeCountOnce()
{
var curve = new Curve();
curve.AddOrUpdateV(1.0, new VDefinition { Value = 5.0 });
var initial = curve.ChangeCount;
curve.RemoveKeyframeAt(1.0);
Assert.Equal(initial + 1, curve.ChangeCount);
}
[Fact]
public void MoveKeyIncrementsChangeCountOnce()
{
var curve = new Curve();
curve.AddOrUpdateV(1.0, new VDefinition { Value = 5.0 });
var initial = curve.ChangeCount;
curve.MoveKey(1.0, 2.0);
Assert.Equal(initial + 1, curve.ChangeCount);
}
[Fact]
public void SetPreCurveMappingIncrementsChangeCount()
{
var curve = new Curve();
var initial = curve.ChangeCount;
curve.PreCurveMapping = CurveUtils.OutsideCurveBehavior.Cycle;
Assert.Equal(initial + 1, curve.ChangeCount);
}
[Fact]
public void SetPostCurveMappingIncrementsChangeCount()
{
var curve = new Curve();
var initial = curve.ChangeCount;
curve.PostCurveMapping = CurveUtils.OutsideCurveBehavior.Oscillate;
Assert.Equal(initial + 1, curve.ChangeCount);
}
}