mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-11 19:06:33 +00:00
77 lines
1.7 KiB
C#
77 lines
1.7 KiB
C#
//
|
|
// ElementTest.cs: NUnit Test Suite for gstreamer-sharp
|
|
//
|
|
// Authors:
|
|
// Khaled Mohammed (khaled.mohammed@gmail.com)
|
|
//
|
|
// (C) 2006 Novell, Inc.
|
|
//
|
|
|
|
using System;
|
|
using NUnit.Framework;
|
|
using Gst;
|
|
|
|
[TestFixture]
|
|
public class ElementTest
|
|
{
|
|
[TestFixtureSetUp]
|
|
public void Init()
|
|
{
|
|
Application.Init();
|
|
}
|
|
|
|
[Test]
|
|
public void TestLinkNoPads()
|
|
{
|
|
Element src = new Bin("src");
|
|
Element sink = new Bin("sink");
|
|
|
|
Assert.IsFalse(src.Link(sink));
|
|
Assert.IsFalse(Element.Link(src, sink));
|
|
}
|
|
|
|
[Test]
|
|
public void TestAddRemovePad()
|
|
{
|
|
Element e = ElementFactory.Make("fakesrc", "source");
|
|
Pad pad = new Pad("source", PadDirection.Src);
|
|
|
|
e.AddPad(pad);
|
|
Assert.AreEqual(pad, e.GetStaticPad("source"));
|
|
|
|
e.RemovePad(pad);
|
|
Assert.IsNull(e.GetStaticPad("source"));
|
|
}
|
|
|
|
[Test]
|
|
public void TestLink()
|
|
{
|
|
State state, pending;
|
|
|
|
Element source = ElementFactory.Make("fakesrc", "source");
|
|
Assert.IsNotNull(source);
|
|
Element sink = ElementFactory.Make("fakesink", "sink");
|
|
Assert.IsNotNull(sink);
|
|
|
|
Assert.IsTrue(source.LinkPads("src", sink, "sink"));
|
|
|
|
sink.SetState(State.Paused);
|
|
source.SetState(State.Paused);
|
|
sink.GetState(out state, out pending, Clock.TimeNone);
|
|
Assert.AreEqual(state, State.Paused);
|
|
|
|
sink.SetState(State.Playing);
|
|
source.SetState(State.Playing);
|
|
source.GetState(out state, out pending, Clock.TimeNone);
|
|
Assert.AreEqual(state, State.Playing);
|
|
|
|
sink.SetState(State.Null);
|
|
source.SetState(State.Null);
|
|
sink.GetState(out state, out pending, Clock.TimeNone);
|
|
Assert.AreEqual(state, State.Null);
|
|
|
|
Assert.AreEqual(source.GetStaticPad("src").Peer, sink.GetStaticPad("sink"));
|
|
source.Unlink(sink);
|
|
Assert.IsFalse(source.GetStaticPad("src").IsLinked);
|
|
}
|
|
}
|