Wes xx mediapipe integration
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
// Copyright (c) 2021 homuler
|
||||
//
|
||||
// Use of this source code is governed by an MIT-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://opensource.org/licenses/MIT.
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Mediapipe.Tests
|
||||
{
|
||||
public class StatusOrGpuResourcesTest
|
||||
{
|
||||
#region #status
|
||||
[Test, GpuOnly]
|
||||
public void Status_ShouldReturnOk_When_StatusIsOk()
|
||||
{
|
||||
using (var statusOrGpuResources = GpuResources.Create())
|
||||
{
|
||||
Assert.AreEqual(Status.StatusCode.Ok, statusOrGpuResources.status.Code());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #isDisposed
|
||||
[Test, GpuOnly]
|
||||
public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
|
||||
{
|
||||
using (var statusOrGpuResources = GpuResources.Create())
|
||||
{
|
||||
Assert.False(statusOrGpuResources.isDisposed);
|
||||
}
|
||||
}
|
||||
|
||||
[Test, GpuOnly]
|
||||
public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
|
||||
{
|
||||
var statusOrGpuResources = GpuResources.Create();
|
||||
statusOrGpuResources.Dispose();
|
||||
|
||||
Assert.True(statusOrGpuResources.isDisposed);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #Value
|
||||
[Test, GpuOnly]
|
||||
public void Value_ShouldReturnGpuResources_When_StatusIsOk()
|
||||
{
|
||||
using (var statusOrGpuResources = GpuResources.Create())
|
||||
{
|
||||
Assert.True(statusOrGpuResources.Ok());
|
||||
|
||||
using (var gpuResources = statusOrGpuResources.Value())
|
||||
{
|
||||
Assert.IsInstanceOf<GpuResources>(gpuResources);
|
||||
Assert.True(statusOrGpuResources.isDisposed);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 744f3edd2e0a5c864b1e59a13c017bbd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,71 @@
|
||||
// Copyright (c) 2021 homuler
|
||||
//
|
||||
// Use of this source code is governed by an MIT-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://opensource.org/licenses/MIT.
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Mediapipe.Tests
|
||||
{
|
||||
public class StatusOrImageFrameTest
|
||||
{
|
||||
#region #status
|
||||
[Test]
|
||||
public void Status_ShouldReturnOk_When_StatusIsOk()
|
||||
{
|
||||
using (var statusOrImageFrame = InitializeSubject())
|
||||
{
|
||||
Assert.True(statusOrImageFrame.Ok());
|
||||
Assert.AreEqual(Status.StatusCode.Ok, statusOrImageFrame.status.Code());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #isDisposed
|
||||
[Test]
|
||||
public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
|
||||
{
|
||||
using (var statusOrImageFrame = InitializeSubject())
|
||||
{
|
||||
Assert.False(statusOrImageFrame.isDisposed);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
|
||||
{
|
||||
var statusOrImageFrame = InitializeSubject();
|
||||
statusOrImageFrame.Dispose();
|
||||
|
||||
Assert.True(statusOrImageFrame.isDisposed);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #Value
|
||||
[Test]
|
||||
public void Value_ShouldReturnImageFrame_When_StatusIsOk()
|
||||
{
|
||||
using (var statusOrImageFrame = InitializeSubject())
|
||||
{
|
||||
Assert.True(statusOrImageFrame.Ok());
|
||||
|
||||
using (var imageFrame = statusOrImageFrame.Value())
|
||||
{
|
||||
Assert.AreEqual(10, imageFrame.Width());
|
||||
Assert.AreEqual(10, imageFrame.Height());
|
||||
Assert.True(statusOrImageFrame.isDisposed);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
private StatusOrImageFrame InitializeSubject()
|
||||
{
|
||||
var imageFrame = new ImageFrame(ImageFormat.Types.Format.Sbgra, 10, 10);
|
||||
var packet = new ImageFramePacket(imageFrame, new Timestamp(1));
|
||||
|
||||
return (StatusOrImageFrame)packet.Consume();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 466caabcab9db68b9bf6cd8b2ea6829a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,87 @@
|
||||
// Copyright (c) 2021 homuler
|
||||
//
|
||||
// Use of this source code is governed by an MIT-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://opensource.org/licenses/MIT.
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Mediapipe.Tests
|
||||
{
|
||||
public class StatusOrStringTest
|
||||
{
|
||||
#region #status
|
||||
[Test]
|
||||
public void Status_ShouldReturnOk_When_StatusIsOk()
|
||||
{
|
||||
using (var statusOrString = InitializeSubject(""))
|
||||
{
|
||||
Assert.True(statusOrString.Ok());
|
||||
Assert.AreEqual(Status.StatusCode.Ok, statusOrString.status.Code());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #isDisposed
|
||||
[Test]
|
||||
public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
|
||||
{
|
||||
using (var statusOrString = InitializeSubject(""))
|
||||
{
|
||||
Assert.False(statusOrString.isDisposed);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
|
||||
{
|
||||
var statusOrString = InitializeSubject("");
|
||||
statusOrString.Dispose();
|
||||
|
||||
Assert.True(statusOrString.isDisposed);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #Value
|
||||
[Test]
|
||||
public void Value_ShouldReturnString_When_StatusIsOk()
|
||||
{
|
||||
var bytes = new byte[] { (byte)'a', (byte)'b', 0, (byte)'c' };
|
||||
using (var statusOrString = InitializeSubject(bytes))
|
||||
{
|
||||
Assert.True(statusOrString.Ok());
|
||||
Assert.AreEqual("ab", statusOrString.Value());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #ValueAsByteArray
|
||||
[Test]
|
||||
public void ValueAsByteArray_ShouldReturnByteArray_When_StatusIsOk()
|
||||
{
|
||||
var bytes = new byte[] { (byte)'a', (byte)'b', 0, (byte)'c' };
|
||||
using (var statusOrString = InitializeSubject(bytes))
|
||||
{
|
||||
Assert.True(statusOrString.Ok());
|
||||
Assert.AreEqual(bytes, statusOrString.ValueAsByteArray());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
private StatusOrString InitializeSubject(string str)
|
||||
{
|
||||
using (var packet = new StringPacket(str))
|
||||
{
|
||||
return (StatusOrString)packet.Consume();
|
||||
}
|
||||
}
|
||||
|
||||
private StatusOrString InitializeSubject(byte[] bytes)
|
||||
{
|
||||
using (var packet = new StringPacket(bytes))
|
||||
{
|
||||
return (StatusOrString)packet.Consume();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 033bc341009a18e46920a405cd163bfb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,286 @@
|
||||
// Copyright (c) 2021 homuler
|
||||
//
|
||||
// Use of this source code is governed by an MIT-style
|
||||
// license that can be found in the LICENSE file or at
|
||||
// https://opensource.org/licenses/MIT.
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Mediapipe.Tests
|
||||
{
|
||||
public class StatusTest
|
||||
{
|
||||
#region #Code
|
||||
[Test]
|
||||
public void Code_ShouldReturnStatusCode_When_StatusIsOk()
|
||||
{
|
||||
using (var status = Status.Ok())
|
||||
{
|
||||
Assert.AreEqual(Status.StatusCode.Ok, status.Code());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Code_ShouldReturnStatusCode_When_StatusIsFailedPrecondition()
|
||||
{
|
||||
using (var status = Status.FailedPrecondition())
|
||||
{
|
||||
Assert.AreEqual(Status.StatusCode.FailedPrecondition, status.Code());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #isDisposed
|
||||
[Test]
|
||||
public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
|
||||
{
|
||||
using (var status = Status.Ok())
|
||||
{
|
||||
Assert.False(status.isDisposed);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
|
||||
{
|
||||
var status = Status.Ok();
|
||||
status.Dispose();
|
||||
|
||||
Assert.True(status.isDisposed);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #RawCode
|
||||
[Test]
|
||||
public void RawCode_ShouldReturnRawCode_When_StatusIsOk()
|
||||
{
|
||||
using (var status = Status.Ok())
|
||||
{
|
||||
Assert.AreEqual(0, status.RawCode());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void RawCode_ShouldReturnRawCode_When_StatusIsFailedPrecondition()
|
||||
{
|
||||
using (var status = Status.FailedPrecondition())
|
||||
{
|
||||
Assert.AreEqual(9, status.RawCode());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #Ok
|
||||
[Test]
|
||||
public void Ok_ShouldReturnTrue_When_StatusIsOk()
|
||||
{
|
||||
using (var status = Status.Ok())
|
||||
{
|
||||
Assert.True(status.Ok());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Ok_ShouldReturnFalse_When_StatusIsFailedPrecondition()
|
||||
{
|
||||
using (var status = Status.FailedPrecondition())
|
||||
{
|
||||
Assert.False(status.Ok());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #AssertOk
|
||||
[Test]
|
||||
public void AssertOk_ShouldNotThrow_When_StatusIsOk()
|
||||
{
|
||||
using (var status = Status.Ok())
|
||||
{
|
||||
Assert.DoesNotThrow(() => { status.AssertOk(); });
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void AssertOk_ShouldThrow_When_StatusIsNotOk()
|
||||
{
|
||||
using (var status = Status.FailedPrecondition())
|
||||
{
|
||||
#pragma warning disable IDE0058
|
||||
Assert.Throws<MediaPipeException>(() => { status.AssertOk(); });
|
||||
#pragma warning restore IDE0058
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region #ToString
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsOk()
|
||||
{
|
||||
using (var status = Status.Ok())
|
||||
{
|
||||
Assert.AreEqual("OK", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsCancelled()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Cancelled(message))
|
||||
{
|
||||
Assert.AreEqual($"CANCELLED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsUnknown()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Unknown(message))
|
||||
{
|
||||
Assert.AreEqual($"UNKNOWN: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsInvalidArgument()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.InvalidArgument(message))
|
||||
{
|
||||
Assert.AreEqual($"INVALID_ARGUMENT: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsDeadlineExceeded()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.DeadlineExceeded(message))
|
||||
{
|
||||
Assert.AreEqual($"DEADLINE_EXCEEDED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsNotFound()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.NotFound(message))
|
||||
{
|
||||
Assert.AreEqual($"NOT_FOUND: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsAlreadyExists()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.AlreadyExists(message))
|
||||
{
|
||||
Assert.AreEqual($"ALREADY_EXISTS: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsPermissionDenied()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.PermissionDenied(message))
|
||||
{
|
||||
Assert.AreEqual($"PERMISSION_DENIED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsResourceExhausted()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.ResourceExhausted(message))
|
||||
{
|
||||
Assert.AreEqual($"RESOURCE_EXHAUSTED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsFailedPrecondition()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.FailedPrecondition(message))
|
||||
{
|
||||
Assert.AreEqual($"FAILED_PRECONDITION: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsAborted()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Aborted(message))
|
||||
{
|
||||
Assert.AreEqual($"ABORTED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsOutOfRange()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.OutOfRange(message))
|
||||
{
|
||||
Assert.AreEqual($"OUT_OF_RANGE: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsUnimplemented()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Unimplemented(message))
|
||||
{
|
||||
Assert.AreEqual($"UNIMPLEMENTED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsInternal()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Internal(message))
|
||||
{
|
||||
Assert.AreEqual($"INTERNAL: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsUnavailable()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Unavailable(message))
|
||||
{
|
||||
Assert.AreEqual($"UNAVAILABLE: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsDataLoss()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.DataLoss(message))
|
||||
{
|
||||
Assert.AreEqual($"DATA_LOSS: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ToString_ShouldReturnMessage_When_StatusIsUnauthenticated()
|
||||
{
|
||||
var message = "Some error";
|
||||
using (var status = Status.Unauthenticated(message))
|
||||
{
|
||||
Assert.AreEqual($"UNAUTHENTICATED: {message}", status.ToString());
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cb9c4c0cb4b7c323db90d8592b4684cb
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user