// public static FrameProcessor _processor; // // static void ManyShortSends() // { // var seq = new FrameSequence(); // for (int i = 0; i < 100; i++) // { // var frame = new Frame(TimeSpan.FromSeconds(i), TimeSpan.FromSeconds(1)){Command = new SetColor(1, Color.FromRgb(128,128,128))}; // seq.Push(frame); // } // // IPackageSender sender = new FakePackageSender(); // _processor = new FrameProcessor(sender, seq); // _processor.Start(); // } // // static void Main(string[] args) // { // var th = new Thread(ManyShortSends); // th.Start(); // th.Join(); // var t = _processor.AudioReader; // Thread.Sleep(60 * 000); // } static void Main(string[] args) { var fs = new FrameSequence(); fs.Push(new Frame(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(4))); fs.Push(new Frame(TimeSpan.FromSeconds(4), TimeSpan.FromSeconds(6))); fs.Push(new Frame(TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(7))); fs.Push(new Frame(TimeSpan.FromSeconds(17), TimeSpan.FromSeconds(2))); var jsonStr = TypeSerializer.Dump(fs); var sequence = TypeSerializer.DeserializeFromString<FrameSequence>(jsonStr); Console.WriteLine(sequence); }
public void PushTwoSequencedFrames() { var seq = new FrameSequence(); var cmd1 = CreateFrame(0, 2); var cmd2 = CreateFrame(2, 3.5); seq.Push(cmd1); seq.Push(cmd2); var cmdMid1 = TimeSpan.FromMilliseconds(10); var actual1 = seq.FrameByTime(cmdMid1); Assert.AreEqual(cmd1, actual1); var cmdMid2 = TimeSpan.FromSeconds(2.5); var actual2 = seq.FrameByTime(cmdMid2); Assert.AreEqual(cmd2, actual2); }
public void GetTargetFrameTwice() { var seq = new FrameSequence(); var cmd1 = CreateFrame(1, 3); var cmd2 = CreateFrame(4, 2); seq.Push(cmd1); seq.Push(cmd2); var cmdMiddle1 = TimeSpan.FromSeconds(1.5); var actual1 = seq.FrameByTime(cmdMiddle1); Assert.AreEqual(cmd1, actual1); var cmdMiddle2 = TimeSpan.FromSeconds(1.6); var actual2 = seq.FrameByTime(cmdMiddle2); Assert.IsNull(actual2); }
public void SaveFrame() { var color = Color.FromRgb(128, 128, 128); var frame1 = new Frame(TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(3.5)) { Command = new SetColor(color){Channel = 1} }; var frame2 = new Frame(TimeSpan.FromSeconds(3.5), TimeSpan.FromSeconds(2)) { Command = new SetColor(color){Channel = 1} }; var seq = new FrameSequence(); seq.Push(frame1); seq.Push(frame2); var s = JsonSerializer.SerializeToString(seq); Console.WriteLine(s); }
public void PushOneCommand() { var seq = new FrameSequence(); var expected = CreateFrame(0, 3); seq.Push(expected); var beginBound = TimeSpan.FromSeconds(0); var actual = seq.FrameByTime(beginBound); Assert.IsNotNull(actual); Assert.AreEqual(expected, actual); }