gstreamer/tests/BufferTest.cs
2009-06-20 11:29:24 +02:00

84 lines
1.9 KiB
C#

//
// Authors
// Khaled Mohammed (khaled.mohammed@gmail.com)
//
// (C) 2006
//
using System;
using NUnit.Framework;
using Gst;
[TestFixture]
public class BufferTest
{
[TestFixtureSetUp]
public void Init()
{
Application.Init();
}
[Test]
public void TestCaps()
{
Gst.Buffer buffer = new Gst.Buffer(4);
Caps caps = Caps.FromString("audio/x-raw-int");
Assert.IsNull(buffer.Caps, "buffer.Caps should be null");
buffer.Caps = caps;
Assert.IsNotNull(buffer.Caps, "buffer.Caps is null");
Caps caps2 = Caps.FromString("audio/x-raw-float");
buffer.Caps = caps2;
Assert.AreNotEqual(buffer.Caps, caps);
Assert.AreEqual(buffer.Caps, caps2);
buffer.Caps = null;
Assert.IsNull(buffer.Caps, "buffer.Caps should be null");
}
[Test]
public void TestSubbuffer()
{
Gst.Buffer buffer = new Gst.Buffer(4);
Gst.Buffer sub = buffer.CreateSub(1, 2);
Assert.IsNotNull(sub);
Assert.AreEqual(sub.Size, 2, "subbuffer has wrong size");
}
[Test]
public void TestIsSpanFast()
{
Gst.Buffer buffer = new Gst.Buffer(4);
Gst.Buffer sub1 = buffer.CreateSub(0, 2);
Assert.IsNotNull(sub1, "CreateSub of buffer returned null");
Gst.Buffer sub2 = buffer.CreateSub(2, 2);
Assert.IsNotNull(sub2, "CreateSub of buffer returned null");
Assert.IsFalse(buffer.IsSpanFast(sub2), "a parent buffer can not be SpanFasted");
Assert.IsFalse(sub1.IsSpanFast(buffer), "a parent buffer can not be SpanFasted");
Assert.IsTrue(sub1.IsSpanFast(sub2), "two subbuffers next to each other should be SpanFast");
}
private void ArrayIsEqual (byte[] a, byte[] b)
{
Assert.IsTrue (a.Length == b.Length);
for (int i = 0; i < a.Length; i++)
Assert.IsTrue (a[i] == b[i]);
}
[Test]
public void TestBufferData()
{
byte[] data = new byte[] {0, 1, 2, 3, 4, 5};
Gst.Buffer buffer = new Gst.Buffer (data);
ArrayIsEqual (data, buffer.Data);
for (uint i = 0; i < buffer.Size; i++)
Assert.IsTrue (buffer[i] == data[i]);
}
}