59 lines
No EOL
1.9 KiB
C#
59 lines
No EOL
1.9 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using JD.Timeline.Model;
|
|
using NUnit.Framework;
|
|
using JD.Serialization;
|
|
|
|
namespace TRecTests
|
|
{
|
|
[TestFixture]
|
|
public class TapeTests
|
|
{
|
|
[Test]
|
|
public void Test_pointers_are_restored_after_a_serialization()
|
|
{
|
|
var tape = new Tape();
|
|
tape.Tracks.Add(new TapeTrack { Id = 12, Name = "MyTrack" });
|
|
tape.Clips.Add(new AlphaClip { ActorName = "ThisName" });
|
|
|
|
var serialized = ReadWrite(tape);
|
|
|
|
Assert.AreEqual(serialized, serialized.Clips[0].Tape);
|
|
Assert.AreEqual(serialized, serialized.Tracks[0].Tape);
|
|
}
|
|
|
|
[Test]
|
|
public void Test_curves_are_added_to_their_curve_collection()
|
|
{
|
|
var translationClip = new TranslationClip();
|
|
Assert.That(translationClip.Curves.Contains(translationClip.CurveX));
|
|
Assert.That(translationClip.Curves.Contains(translationClip.CurveY));
|
|
Assert.That(translationClip.Curves.Contains(translationClip.CurveZ));
|
|
}
|
|
|
|
[Test]
|
|
public void Test_curves_in_the_curve_collection_are_valid_after_deserializing_a_modified_curve()
|
|
{
|
|
// The Serializer creates a new curve, we have to make sure the curve collection uses this new curve.
|
|
|
|
var translationClip = new TranslationClip();
|
|
translationClip.CurveX.Keys.Add(new KeyFloat());
|
|
|
|
translationClip = ReadWrite(translationClip);
|
|
Assert.That(translationClip.Curves.Contains(translationClip.CurveX));
|
|
}
|
|
|
|
private T ReadWrite<T>(T value)
|
|
where T : new()
|
|
{
|
|
LuaSerializer serializer = new LuaSerializer();
|
|
var content = serializer.Serialize(value);
|
|
|
|
var result = new T();
|
|
serializer.Deserialize(content, result);
|
|
return result;
|
|
}
|
|
}
|
|
} |