diff --git a/Assets/Accounts/Scripts/AccountsScripts.asmdef b/Assets/Accounts/Scripts/AccountsScripts.asmdef
new file mode 100644
index 0000000..307f704
--- /dev/null
+++ b/Assets/Accounts/Scripts/AccountsScripts.asmdef
@@ -0,0 +1,17 @@
+{
+ "name": "AccountsScripts",
+ "rootNamespace": "",
+ "references": [
+ "GUID:6055be8ebefd69e48b49212b09b47b2f",
+ "GUID:df9d7b70293a2e14d9d3a018c3956f7a"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/EditModeTests/EditModeTests.asmdef.meta b/Assets/Accounts/Scripts/AccountsScripts.asmdef.meta
similarity index 76%
rename from Assets/EditModeTests/EditModeTests.asmdef.meta
rename to Assets/Accounts/Scripts/AccountsScripts.asmdef.meta
index 3fc17b7..e6c9789 100644
--- a/Assets/EditModeTests/EditModeTests.asmdef.meta
+++ b/Assets/Accounts/Scripts/AccountsScripts.asmdef.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: b3d66002fb543bf3fa03c11006f8cb3a
+guid: 1631ed2680c61245b8211d943c1639a8
AssemblyDefinitionImporter:
externalObjects: {}
userData:
diff --git a/Assets/Common/Scripts/SystemController.cs b/Assets/Accounts/Scripts/SystemController.cs
similarity index 100%
rename from Assets/Common/Scripts/SystemController.cs
rename to Assets/Accounts/Scripts/SystemController.cs
diff --git a/Assets/Common/Scripts/SystemController.cs.meta b/Assets/Accounts/Scripts/SystemController.cs.meta
similarity index 83%
rename from Assets/Common/Scripts/SystemController.cs.meta
rename to Assets/Accounts/Scripts/SystemController.cs.meta
index 9b50852..388d220 100644
--- a/Assets/Common/Scripts/SystemController.cs.meta
+++ b/Assets/Accounts/Scripts/SystemController.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: e901944427bb1104a881881efebd3737
+guid: bf5ea73aa43049e45a0ad926db15f315
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Accounts/Tests/AccountsTests.asmdef b/Assets/Accounts/Tests/AccountsTests.asmdef
new file mode 100644
index 0000000..cfb3391
--- /dev/null
+++ b/Assets/Accounts/Tests/AccountsTests.asmdef
@@ -0,0 +1,27 @@
+{
+ "name": "AccountsTests",
+ "rootNamespace": "",
+ "references": [
+ "UnityEngine.TestRunner",
+ "UnityEditor.TestRunner",
+ "AccountsScripts",
+ "InterfacesScripts"
+ ],
+ "includePlatforms": [
+ "Editor"
+ ],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": true,
+ "precompiledReferences": [
+ "nunit.framework.dll",
+ "nunit.framework.dll"
+ ],
+ "autoReferenced": false,
+ "defineConstraints": [
+ "UNITY_INCLUDE_TESTS",
+ "UNITY_INCLUDE_TESTS"
+ ],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format.meta b/Assets/Accounts/Tests/AccountsTests.asmdef.meta
similarity index 57%
rename from Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format.meta
rename to Assets/Accounts/Tests/AccountsTests.asmdef.meta
index c9c53b4..6671d16 100644
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format.meta
+++ b/Assets/Accounts/Tests/AccountsTests.asmdef.meta
@@ -1,7 +1,6 @@
fileFormatVersion: 2
-guid: 4a55a1703b7efe449be66773a42e7ff0
-folderAsset: yes
-DefaultImporter:
+guid: 8500f5aede7627729bd8c97b15e541c4
+AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
diff --git a/Assets/Accounts/Tests/TestProgress.cs b/Assets/Accounts/Tests/TestProgress.cs
index 42ba708..03cdad4 100644
--- a/Assets/Accounts/Tests/TestProgress.cs
+++ b/Assets/Accounts/Tests/TestProgress.cs
@@ -1,3 +1,4 @@
+using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
@@ -90,6 +91,7 @@ public class TestProgress : MonoBehaviour
///
/// Test for creation of a new progress
///
+ [Test]
public void TestNewProgress()
{
Progress progress = new Progress();
@@ -99,6 +101,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether invalid data will not be added
///
+ [Test]
public void TestProgressAddInvalidData()
{
Progress progress = new Progress();
@@ -108,6 +111,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a duplicated key will be added
///
+ [Test]
public void TestProgressAddDuplicateKey()
{
Progress progress = new Progress();
@@ -118,6 +122,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a int value can be added
///
+ [Test]
public void TestProgressAddInt()
{
Progress progress = new Progress();
@@ -127,6 +132,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a double value can be added
///
+ [Test]
public void TestProgressAddDouble()
{
Progress progress = new Progress();
@@ -136,6 +142,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a string value can be added
///
+ [Test]
public void TestProgressAddString()
{
Progress progress = new Progress();
@@ -145,6 +152,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a serializable struct can be added
///
+ [Test]
public void TestProgressAddSerializableStruct()
{
Progress progress = new Progress();
@@ -154,6 +162,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a non-serializable struct will throw an error
///
+ [Test]
public void TestProgressAddNonSerializableStruct()
{
Debug.Assert(AddNonSerializableStruct());
@@ -162,6 +171,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether an invalid key will throw an error
///
+ [Test]
public void TestProgressGetInvalidKey()
{
Debug.Assert(AccessInvalidKey());
@@ -170,6 +180,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether an invalid type will throw an error
///
+ [Test]
public void TestProgressGetInvalidType()
{
Debug.Assert(AccessInvalidType());
@@ -178,6 +189,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a value is correctly updated
///
+ [Test]
public void TestProgressUpdate()
{
Progress progress = new Progress();
@@ -190,6 +202,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a int value can be read
///
+ [Test]
public void TestProgressGetInt()
{
Progress progress = new Progress();
@@ -200,6 +213,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a double value can be read
///
+ [Test]
public void TestProgressGetDouble()
{
Progress progress = new Progress();
@@ -210,6 +224,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a string value can be read
///
+ [Test]
public void TestProgressGetString()
{
Progress progress = new Progress();
@@ -220,6 +235,7 @@ public class TestProgress : MonoBehaviour
///
/// Test whether a serializable struct can be read
///
+ [Test]
public void TestProgressGetStruct()
{
Progress progress = new Progress();
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework.meta b/Assets/Common/Interfaces.meta
similarity index 77%
rename from Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework.meta
rename to Assets/Common/Interfaces.meta
index 453e2a3..dd149d1 100644
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework.meta
+++ b/Assets/Common/Interfaces.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3ec4b51665a3e7b499aa9c64fc9c7462
+guid: e88996685ebf2274ea70a64e08b7ddd7
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Courses/Scripts/CourseIndex.cs b/Assets/Common/Interfaces/CourseIndex.cs
similarity index 100%
rename from Assets/Courses/Scripts/CourseIndex.cs
rename to Assets/Common/Interfaces/CourseIndex.cs
diff --git a/Assets/Courses/Scripts/CourseIndex.cs.meta b/Assets/Common/Interfaces/CourseIndex.cs.meta
similarity index 83%
rename from Assets/Courses/Scripts/CourseIndex.cs.meta
rename to Assets/Common/Interfaces/CourseIndex.cs.meta
index a3affde..14e1a8d 100644
--- a/Assets/Courses/Scripts/CourseIndex.cs.meta
+++ b/Assets/Common/Interfaces/CourseIndex.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 3ac4eb825ce7bf5499f083eaf34d5d4d
+guid: a5bf21dee022ed0489face1c734359de
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Common/Interfaces/InterfacesScripts.asmdef b/Assets/Common/Interfaces/InterfacesScripts.asmdef
new file mode 100644
index 0000000..666b266
--- /dev/null
+++ b/Assets/Common/Interfaces/InterfacesScripts.asmdef
@@ -0,0 +1,3 @@
+{
+ "name": "InterfacesScripts"
+}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet.meta b/Assets/Common/Interfaces/InterfacesScripts.asmdef.meta
similarity index 57%
rename from Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet.meta
rename to Assets/Common/Interfaces/InterfacesScripts.asmdef.meta
index 768aaec..2ab3a50 100644
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet.meta
+++ b/Assets/Common/Interfaces/InterfacesScripts.asmdef.meta
@@ -1,7 +1,6 @@
fileFormatVersion: 2
-guid: 55cd80546e3f9d043b59677c12f0e891
-folderAsset: yes
-DefaultImporter:
+guid: df9d7b70293a2e14d9d3a018c3956f7a
+AssemblyDefinitionImporter:
externalObjects: {}
userData:
assetBundleName:
diff --git a/Assets/Common/Scripts/MinigameIndex.cs b/Assets/Common/Interfaces/MinigameIndex.cs
similarity index 100%
rename from Assets/Common/Scripts/MinigameIndex.cs
rename to Assets/Common/Interfaces/MinigameIndex.cs
diff --git a/Assets/Common/Scripts/MinigameIndex.cs.meta b/Assets/Common/Interfaces/MinigameIndex.cs.meta
similarity index 83%
rename from Assets/Common/Scripts/MinigameIndex.cs.meta
rename to Assets/Common/Interfaces/MinigameIndex.cs.meta
index 3b85726..2b62ebc 100644
--- a/Assets/Common/Scripts/MinigameIndex.cs.meta
+++ b/Assets/Common/Interfaces/MinigameIndex.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 44a1fb926248fe240bed2d5c3820630b
+guid: 97282ff3b465e3c4682d218b3819b2e8
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Common/Interfaces/Score.cs b/Assets/Common/Interfaces/Score.cs
new file mode 100644
index 0000000..e09da89
--- /dev/null
+++ b/Assets/Common/Interfaces/Score.cs
@@ -0,0 +1,12 @@
+using System;
+
+///
+/// Score class TODO: Move to separate file
+///
+[Serializable]
+public class Score
+{
+ public int scoreValue;
+ public string time;
+}
+
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format/ImageFrameTest.cs.meta b/Assets/Common/Interfaces/Score.cs.meta
similarity index 83%
rename from Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format/ImageFrameTest.cs.meta
rename to Assets/Common/Interfaces/Score.cs.meta
index bbb222f..1bd4bb6 100644
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format/ImageFrameTest.cs.meta
+++ b/Assets/Common/Interfaces/Score.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: efccb8a8c7f87c9629872169190107db
+guid: 295706da5995d69468daf35ad5527089
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Common/Scripts/CommonScripts.asmdef b/Assets/Common/Scripts/CommonScripts.asmdef
new file mode 100644
index 0000000..99f32a7
--- /dev/null
+++ b/Assets/Common/Scripts/CommonScripts.asmdef
@@ -0,0 +1,19 @@
+{
+ "name": "CommonScripts",
+ "rootNamespace": "",
+ "references": [
+ "GUID:6055be8ebefd69e48b49212b09b47b2f",
+ "GUID:63c63e721f65ebb7d871cb9ef49f4752",
+ "GUID:1631ed2680c61245b8211d943c1639a8",
+ "GUID:df9d7b70293a2e14d9d3a018c3956f7a"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Common/Scripts/CommonScripts.asmdef.meta b/Assets/Common/Scripts/CommonScripts.asmdef.meta
new file mode 100644
index 0000000..cacb227
--- /dev/null
+++ b/Assets/Common/Scripts/CommonScripts.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3444c67d5a3a93e5a95a48906078c372
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Common/Scripts/MinigameActivityScreen.cs b/Assets/Common/Scripts/MinigameActivityScreen.cs
index 064693e..3acf8fb 100644
--- a/Assets/Common/Scripts/MinigameActivityScreen.cs
+++ b/Assets/Common/Scripts/MinigameActivityScreen.cs
@@ -107,7 +107,7 @@ public class MinigameActivityScreen : MonoBehaviour
int index = minigameList.currentMinigameIndex;
Minigame minigame = minigameList.minigames[index];
- List> allScores = new List>();
+ List> allScores = new List>();
foreach (User user in userList.GetUsers())
{
// Get user's progress for this minigame
@@ -115,10 +115,10 @@ public class MinigameActivityScreen : MonoBehaviour
if (progress != null)
{
// Add scores to dictionary
- List scores = progress.Get>("scores");
- foreach (GameController.Score score in scores)
+ List scores = progress.Get>("scores");
+ foreach (Score score in scores)
{
- allScores.Add(new Tuple(user.username, user.avatar, score));
+ allScores.Add(new Tuple(user.username, user.avatar, score));
}
}
}
@@ -127,11 +127,11 @@ public class MinigameActivityScreen : MonoBehaviour
allScores.Sort((a, b) => b.Item3.scoreValue.CompareTo(a.Item3.scoreValue));
// Instantiate scoreboard entries
- foreach (Tuple tup in allScores.Take(3))
+ foreach (Tuple tup in allScores.Take(3))
{
string username = tup.Item1;
Sprite sprite = tup.Item2;
- GameController.Score score = tup.Item3;
+ Score score = tup.Item3;
GameObject instance = GameObject.Instantiate(prefab, userContainer);
instance.transform.Find("Title").GetComponent().text = username;
diff --git a/Assets/Courses/Scripts/CourseScripts.asmdef b/Assets/Courses/Scripts/CourseScripts.asmdef
new file mode 100644
index 0000000..7f69e18
--- /dev/null
+++ b/Assets/Courses/Scripts/CourseScripts.asmdef
@@ -0,0 +1,18 @@
+{
+ "name": "CourseScripts",
+ "rootNamespace": "",
+ "references": [
+ "Unity.TextMeshPro",
+ "AccountsScripts",
+ "InterfacesScripts"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/Courses/Scripts/CourseScripts.asmdef.meta b/Assets/Courses/Scripts/CourseScripts.asmdef.meta
new file mode 100644
index 0000000..4a5c479
--- /dev/null
+++ b/Assets/Courses/Scripts/CourseScripts.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 63c63e721f65ebb7d871cb9ef49f4752
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/EditModeTests/BasicTest.cs b/Assets/EditModeTests/BasicTest.cs
deleted file mode 100644
index 6c756b8..0000000
--- a/Assets/EditModeTests/BasicTest.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using NUnit.Framework;
-
-public class BasicTest
-{
- // check if edit mode tests works
- [Test]
- public void AlwaysTrueTest()
- {
- Assert.True(true);
- }
-}
diff --git a/Assets/EditModeTests/EditModeTests.asmdef b/Assets/EditModeTests/EditModeTests.asmdef
deleted file mode 100644
index 8f5d1b5..0000000
--- a/Assets/EditModeTests/EditModeTests.asmdef
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "EditModeTests",
- "optionalUnityReferences": [
- "TestAssemblies"
- ],
- "includePlatforms": [
- "Editor"
- ]
-}
\ No newline at end of file
diff --git a/Assets/SpellingBee/Scripts/GameController.cs b/Assets/SpellingBee/Scripts/GameController.cs
index 08968c1..e2d71a9 100644
--- a/Assets/SpellingBee/Scripts/GameController.cs
+++ b/Assets/SpellingBee/Scripts/GameController.cs
@@ -6,7 +6,7 @@ using TMPro;
using UnityEngine;
using UnityEngine.UI;
-public class GameController : MonoBehaviour
+public partial class GameController : MonoBehaviour
{
///
/// All of the words that can be used in this session
@@ -191,16 +191,6 @@ public class GameController : MonoBehaviour
///
public GameObject scoreboardEntry;
- ///
- /// Score class TODO: Move to separate file
- ///
- [Serializable]
- public class Score
- {
- public int scoreValue;
- public string time;
- }
-
///
/// Start is called before the first frame update
diff --git a/Assets/SpellingBee/Scripts/Score.cs b/Assets/SpellingBee/Scripts/Score.cs
new file mode 100644
index 0000000..6d4840a
--- /dev/null
+++ b/Assets/SpellingBee/Scripts/Score.cs
@@ -0,0 +1,14 @@
+using System;
+
+public partial class GameController
+{
+ ///
+ /// Score class TODO: Move to separate file
+ ///
+ [Serializable]
+ public class Score
+ {
+ public int scoreValue;
+ public string time;
+ }
+}
diff --git a/Assets/EditModeTests/BasicTest.cs.meta b/Assets/SpellingBee/Scripts/Score.cs.meta
similarity index 83%
rename from Assets/EditModeTests/BasicTest.cs.meta
rename to Assets/SpellingBee/Scripts/Score.cs.meta
index c08356d..8d122b6 100644
--- a/Assets/EditModeTests/BasicTest.cs.meta
+++ b/Assets/SpellingBee/Scripts/Score.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 74f8b297e568e071198f12d32c3f32c0
+guid: 44c1f8e0fa862b44485ebaa3c81698fc
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef b/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef
new file mode 100644
index 0000000..78a9950
--- /dev/null
+++ b/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef
@@ -0,0 +1,19 @@
+{
+ "name": "SpellingBeeScripts",
+ "rootNamespace": "",
+ "references": [
+ "GUID:6055be8ebefd69e48b49212b09b47b2f",
+ "GUID:1631ed2680c61245b8211d943c1639a8",
+ "GUID:3444c67d5a3a93e5a95a48906078c372",
+ "GUID:df9d7b70293a2e14d9d3a018c3956f7a"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef.meta b/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef.meta
new file mode 100644
index 0000000..c0ce243
--- /dev/null
+++ b/Assets/SpellingBee/Scripts/SpellingBeeScripts.asmdef.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 49d8025a5c8c313cea12c9a1de36c09b
+AssemblyDefinitionImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/CalculatorGraphTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/CalculatorGraphTest.cs
deleted file mode 100644
index 330391a..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/CalculatorGraphTest.cs
+++ /dev/null
@@ -1,167 +0,0 @@
-// 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 CalculatorGraphTest
- {
- private const string _ValidConfigText = @"node {
- calculator: ""PassThroughCalculator""
- input_stream: ""in""
- output_stream: ""out1""
-}
-node {
- calculator: ""PassThroughCalculator""
- input_stream: ""out1""
- output_stream: ""out""
-}
-input_stream: ""in""
-output_stream: ""out""
-";
-
- #region Constructor
- [Test]
- public void Ctor_ShouldInstantiateCalculatorGraph_When_CalledWithNoArguments()
- {
- Assert.DoesNotThrow(() =>
- {
- var graph = new CalculatorGraph();
- graph.Dispose();
- });
- }
-
- [Test]
- public void Ctor_ShouldInstantiateCalculatorGraph_When_CalledWithConfigText()
- {
- using (var graph = new CalculatorGraph(_ValidConfigText))
- {
- var config = graph.Config();
- Assert.AreEqual("in", config.InputStream[0]);
- Assert.AreEqual("out", config.OutputStream[0]);
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var graph = new CalculatorGraph())
- {
- Assert.False(graph.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var graph = new CalculatorGraph();
- graph.Dispose();
-
- Assert.True(graph.isDisposed);
- }
- #endregion
-
- #region #Initialize
- [Test]
- public void Initialize_ShouldReturnOk_When_CalledWithConfig_And_ConfigIsNotSet()
- {
- using (var graph = new CalculatorGraph())
- {
- using (var status = graph.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ValidConfigText)))
- {
- Assert.True(status.Ok());
- }
-
- var config = graph.Config();
- Assert.AreEqual("in", config.InputStream[0]);
- Assert.AreEqual("out", config.OutputStream[0]);
- }
- }
-
- [Test]
- public void Initialize_ShouldReturnInternalError_When_CalledWithConfig_And_ConfigIsSet()
- {
- using (var graph = new CalculatorGraph(_ValidConfigText))
- {
- using (var status = graph.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ValidConfigText)))
- {
- Assert.AreEqual(Status.StatusCode.Internal, status.Code());
- }
- }
- }
-
- [Test]
- public void Initialize_ShouldReturnOk_When_CalledWithConfigAndSidePacket_And_ConfigIsNotSet()
- {
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("flag", new BoolPacket(true));
-
- using (var graph = new CalculatorGraph())
- {
- var config = CalculatorGraphConfig.Parser.ParseFromTextFormat(_ValidConfigText);
-
- using (var status = graph.Initialize(config, sidePacket))
- {
- Assert.True(status.Ok());
- }
- }
- }
- }
-
- [Test]
- public void Initialize_ShouldReturnInternalError_When_CalledWithConfigAndSidePacket_And_ConfigIsSet()
- {
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("flag", new BoolPacket(true));
-
- using (var graph = new CalculatorGraph(_ValidConfigText))
- {
- var config = CalculatorGraphConfig.Parser.ParseFromTextFormat(_ValidConfigText);
-
- using (var status = graph.Initialize(config, sidePacket))
- {
- Assert.AreEqual(Status.StatusCode.Internal, status.Code());
- }
- }
- }
- }
- #endregion
-
- #region lifecycle
- [Test]
- public void LifecycleMethods_ShouldControlGraphLifeCycle()
- {
- using (var graph = new CalculatorGraph(_ValidConfigText))
- {
- Assert.True(graph.StartRun().Ok());
- Assert.False(graph.GraphInputStreamsClosed());
-
- Assert.True(graph.WaitUntilIdle().Ok());
- Assert.True(graph.CloseAllPacketSources().Ok());
- Assert.True(graph.GraphInputStreamsClosed());
- Assert.True(graph.WaitUntilDone().Ok());
- Assert.False(graph.HasError());
- }
- }
-
- [Test]
- public void Cancel_ShouldCancelGraph()
- {
- using (var graph = new CalculatorGraph(_ValidConfigText))
- {
- Assert.True(graph.StartRun().Ok());
- graph.Cancel();
- Assert.AreEqual(Status.StatusCode.Cancelled, graph.WaitUntilDone().Code());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/CalculatorGraphTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/CalculatorGraphTest.cs.meta
deleted file mode 100644
index 86978b8..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/CalculatorGraphTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 083c8421f4820d09290f0de495a23ec2
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format/ImageFrameTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format/ImageFrameTest.cs
deleted file mode 100644
index 7fd102e..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Format/ImageFrameTest.cs
+++ /dev/null
@@ -1,256 +0,0 @@
-// 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;
-using System;
-using System.Linq;
-using Unity.Collections;
-
-namespace Mediapipe.Tests
-{
- public class ImageFrameTest
- {
- #region Constructor
- [Test]
- public void Ctor_ShouldInstantiateImageFrame_When_CalledWithNoArguments()
- {
- using (var imageFrame = new ImageFrame())
- {
- Assert.AreEqual(ImageFormat.Types.Format.Unknown, imageFrame.Format());
- Assert.AreEqual(0, imageFrame.Width());
- Assert.AreEqual(0, imageFrame.Height(), 0);
- Assert.AreEqual(0, imageFrame.ChannelSize());
- Assert.AreEqual(0, imageFrame.NumberOfChannels());
- Assert.AreEqual(0, imageFrame.ByteDepth());
- Assert.AreEqual(0, imageFrame.WidthStep());
- Assert.AreEqual(0, imageFrame.PixelDataSize());
- Assert.AreEqual(0, imageFrame.PixelDataSizeStoredContiguously());
- Assert.True(imageFrame.IsEmpty());
- Assert.False(imageFrame.IsContiguous());
- Assert.False(imageFrame.IsAligned(16));
- Assert.AreEqual(IntPtr.Zero, imageFrame.MutablePixelData());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiateImageFrame_When_CalledWithFormat()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Sbgra, 640, 480))
- {
- Assert.AreEqual(ImageFormat.Types.Format.Sbgra, imageFrame.Format());
- Assert.AreEqual(640, imageFrame.Width());
- Assert.AreEqual(480, imageFrame.Height());
- Assert.AreEqual(1, imageFrame.ChannelSize());
- Assert.AreEqual(4, imageFrame.NumberOfChannels());
- Assert.AreEqual(1, imageFrame.ByteDepth());
- Assert.AreEqual(640 * 4, imageFrame.WidthStep());
- Assert.AreEqual(640 * 480 * 4, imageFrame.PixelDataSize());
- Assert.AreEqual(640 * 480 * 4, imageFrame.PixelDataSizeStoredContiguously());
- Assert.False(imageFrame.IsEmpty());
- Assert.True(imageFrame.IsContiguous());
- Assert.True(imageFrame.IsAligned(16));
- Assert.AreNotEqual(IntPtr.Zero, imageFrame.MutablePixelData());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiateImageFrame_When_CalledWithFormatAndAlignmentBoundary()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 100, 100, 8))
- {
- Assert.AreEqual(100, imageFrame.Width());
- Assert.AreEqual(1, imageFrame.NumberOfChannels());
- Assert.AreEqual(104, imageFrame.WidthStep());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiateImageFrame_When_CalledWithPixelData()
- {
- var pixelData = new NativeArray(32, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
- var srcBytes = new byte[] {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- };
- pixelData.CopyFrom(srcBytes);
-
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Sbgra, 4, 2, 16, pixelData))
- {
- Assert.AreEqual(4, imageFrame.Width());
- Assert.AreEqual(2, imageFrame.Height());
- Assert.False(imageFrame.IsEmpty());
-
- var bytes = new byte[32];
- imageFrame.CopyToBuffer(bytes);
- Assert.IsEmpty(bytes.Where((x, i) => x != srcBytes[i]));
- }
- }
-
- [Test, SignalAbort]
- public void Ctor_ShouldThrowMediaPipeException_When_CalledWithInvalidArgument()
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { new ImageFrame(ImageFormat.Types.Format.Sbgra, 640, 480, 0); });
-#pragma warning restore IDE0058
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var imageFrame = new ImageFrame())
- {
- Assert.False(imageFrame.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var imageFrame = new ImageFrame();
- imageFrame.Dispose();
-
- Assert.True(imageFrame.isDisposed);
- }
- #endregion
-
- #region #SetToZero
- [Test]
- public void SetToZero_ShouldSetZeroToAllBytes()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10))
- {
- imageFrame.SetToZero();
- var bytes = new byte[100];
- imageFrame.CopyToBuffer(bytes);
- Assert.True(bytes.All((x) => x == 0));
- }
- }
- #endregion
-
- #region #SetAlignmentPaddingAreas
- [Test]
- public void SetAlignmentPaddingAreas_ShouldNotThrow()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10, 16))
- {
- Assert.DoesNotThrow(() => { imageFrame.SetAlignmentPaddingAreas(); });
- }
- }
- #endregion
-
- #region CopyToBuffer
- [Test, SignalAbort]
- public void CopyToByteBuffer_ShouldThrowException_When_BufferDepthIsWrong()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray16, 10, 10))
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { imageFrame.CopyToBuffer(new byte[100]); });
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void CopyToByteBuffer_ShouldReturnByteArray_When_BufferSizeIsLargeEnough()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10))
- {
- var normalBuffer = new byte[100];
- var largeBuffer = new byte[120];
- imageFrame.CopyToBuffer(normalBuffer);
- imageFrame.CopyToBuffer(largeBuffer);
-
- Assert.IsEmpty(normalBuffer.Where((x, i) => x != largeBuffer[i]));
- }
- }
-
- [Test, SignalAbort]
- public void CopyToByteBuffer_ShouldThrowException_When_BufferSizeIsTooSmall()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10))
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { imageFrame.CopyToBuffer(new byte[99]); });
-#pragma warning restore IDE0058
- }
- }
-
- [Test, SignalAbort]
- public void CopyToUshortBuffer_ShouldThrowException_When_BufferDepthIsWrong()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10))
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { imageFrame.CopyToBuffer(new ushort[100]); });
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void CopyToUshortBuffer_ShouldReturnUshortArray_When_BufferSizeIsLargeEnough()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray16, 10, 10))
- {
- var normalBuffer = new ushort[100];
- var largeBuffer = new ushort[120];
- imageFrame.CopyToBuffer(normalBuffer);
- imageFrame.CopyToBuffer(largeBuffer);
-
- Assert.IsEmpty(normalBuffer.Where((x, i) => x != largeBuffer[i]));
- }
- }
-
- [Test, SignalAbort]
- public void CopyToUshortBuffer_ShouldThrowException_When_BufferSizeIsTooSmall()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray16, 10, 10))
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { imageFrame.CopyToBuffer(new ushort[99]); });
-#pragma warning restore IDE0058
- }
- }
-
- [Test, SignalAbort]
- public void CopyToFloatBuffer_ShouldThrowException_When_BufferDepthIsWrong()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10))
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { imageFrame.CopyToBuffer(new float[100]); });
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void CopyToFloatBuffer_ShouldReturnFloatArray_When_BufferSizeIsLargeEnough()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Vec32F1, 10, 10))
- {
- var normalBuffer = new float[100];
- var largeBuffer = new float[120];
- imageFrame.CopyToBuffer(normalBuffer);
- imageFrame.CopyToBuffer(largeBuffer);
-
- Assert.IsEmpty(normalBuffer.Where((x, i) => Math.Abs(x - largeBuffer[i]) > 1e-9));
- }
- }
-
- [Test, SignalAbort]
- public void CopyToFloatBuffer_ShouldThrowException_When_BufferSizeIsTooSmall()
- {
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Vec32F1, 10, 10))
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { imageFrame.CopyToBuffer(new float[99]); });
-#pragma warning restore IDE0058
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/BoolPacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/BoolPacketTest.cs
deleted file mode 100644
index 54e34bd..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/BoolPacketTest.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class BoolPacketTest
- {
- #region Constructor
- [Test, SignalAbort]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithNoArguments()
- {
- using (var packet = new BoolPacket())
- {
-#pragma warning disable IDE0058
- Assert.AreEqual(Status.StatusCode.Internal, packet.ValidateAsType().Code());
- Assert.Throws(() => { packet.Get(); });
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
-#pragma warning restore IDE0058
- }
-
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithTrue()
- {
- using (var packet = new BoolPacket(true))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.True(packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithFalse()
- {
- using (var packet = new BoolPacket(false))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.False(packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValueAndTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new BoolPacket(true, timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.True(packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new BoolPacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new BoolPacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- var packet = new BoolPacket(true).At(timestamp);
- Assert.True(packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.True(newPacket.Get());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldThrowNotSupportedException()
- {
- using (var packet = new BoolPacket())
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { packet.Consume(); });
-#pragma warning restore IDE0058
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- using (var packet = new BoolPacket(true))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/BoolPacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/BoolPacketTest.cs.meta
deleted file mode 100644
index 929637a..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/BoolPacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: b59151b6708d204ee970450f8028d00b
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatArrayPacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatArrayPacketTest.cs
deleted file mode 100644
index 0ece68f..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatArrayPacketTest.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class FloatArrayPacketTest
- {
- #region Constructor
- [Test, SignalAbort]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithNoArguments()
- {
- using (var packet = new FloatArrayPacket())
- {
-#pragma warning disable IDE0058
- packet.length = 0;
- Assert.AreEqual(Status.StatusCode.Internal, packet.ValidateAsType().Code());
- Assert.Throws(() => { packet.Get(); });
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithEmptyArray()
- {
- float[] array = { };
- using (var packet = new FloatArrayPacket(array))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(array, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithArray()
- {
- float[] array = { 0.01f };
- using (var packet = new FloatArrayPacket(array))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(array, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValueAndTimestamp()
- {
- float[] array = { 0.01f, 0.02f };
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new FloatArrayPacket(array, timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(array, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new FloatArrayPacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new FloatArrayPacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- float[] array = { 0.0f };
- var packet = new FloatArrayPacket(array).At(timestamp);
- Assert.AreEqual(array, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.AreEqual(array, newPacket.Get());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldThrowNotSupportedException()
- {
- using (var packet = new FloatArrayPacket())
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { packet.Consume(); });
-#pragma warning restore IDE0058
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- float[] array = { 0.01f };
- using (var packet = new FloatArrayPacket(array))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatArrayPacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatArrayPacketTest.cs.meta
deleted file mode 100644
index 4eb5dcc..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatArrayPacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 43430c0ef642804f9a6347fce4ec497a
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatPacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatPacketTest.cs
deleted file mode 100644
index 45d3300..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatPacketTest.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class FloatPacketTest
- {
- #region Constructor
- [Test, SignalAbort]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithNoArguments()
- {
- using (var packet = new FloatPacket())
- {
-#pragma warning disable IDE0058
- Assert.AreEqual(Status.StatusCode.Internal, packet.ValidateAsType().Code());
- Assert.Throws(() => { packet.Get(); });
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValue()
- {
- using (var packet = new FloatPacket(0.01f))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(0.01f, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValueAndTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new FloatPacket(0.01f, timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(0.01f, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new FloatPacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new FloatPacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- var packet = new FloatPacket(0).At(timestamp);
- Assert.AreEqual(0.0f, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.AreEqual(0.0f, newPacket.Get());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldThrowNotSupportedException()
- {
- using (var packet = new FloatPacket())
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { packet.Consume(); });
-#pragma warning restore IDE0058
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- using (var packet = new FloatPacket(0.01f))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatPacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatPacketTest.cs.meta
deleted file mode 100644
index 71c439a..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatPacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 39a81137616a1218b9b2b11d2feeadd0
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatVectorPacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatVectorPacketTest.cs
deleted file mode 100644
index 06d0da2..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatVectorPacketTest.cs
+++ /dev/null
@@ -1,176 +0,0 @@
-// 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;
-using System;
-using System.Collections.Generic;
-
-namespace Mediapipe.Tests
-{
- public class FloatVectorPacketTest
- {
- #region Constructor
- [Test, SignalAbort]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithNoArguments()
- {
- using (var packet = new FloatVectorPacket())
- {
-#pragma warning disable IDE0058
- Assert.AreEqual(Status.StatusCode.Internal, packet.ValidateAsType().Code());
- Assert.Throws(() => { packet.Get(); });
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithEmptyArray()
- {
- float[] data = { };
- using (var packet = new FloatVectorPacket(data))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithArray()
- {
- float[] data = { 0.01f };
- using (var packet = new FloatVectorPacket(data))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValueAndTimestamp()
- {
- float[] data = { 0.01f, 0.02f };
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new FloatVectorPacket(data, timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithEmptyList()
- {
- var data = new List();
- using (var packet = new FloatVectorPacket(data))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithList()
- {
- var data = new List() { 0.01f };
- using (var packet = new FloatVectorPacket(data))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithListAndTimestamp()
- {
- var data = new List() { 0.01f, 0.02f };
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new FloatVectorPacket(data, timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new FloatVectorPacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new FloatVectorPacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- var data = new List() { 0.0f };
- var packet = new FloatVectorPacket(data).At(timestamp);
- Assert.AreEqual(data, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.AreEqual(data, newPacket.Get());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldThrowNotSupportedException()
- {
- using (var packet = new FloatVectorPacket())
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { packet.Consume(); });
-#pragma warning restore IDE0058
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- float[] array = { 0.01f };
- using (var packet = new FloatVectorPacket(array))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatVectorPacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatVectorPacketTest.cs.meta
deleted file mode 100644
index 15a7a32..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/FloatVectorPacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8a567519c65348c47ae2c5784431179e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/ImageFramePacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/ImageFramePacketTest.cs
deleted file mode 100644
index 359166d..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/ImageFramePacketTest.cs
+++ /dev/null
@@ -1,178 +0,0 @@
-// 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 ImageFramePacketTest
- {
- #region Constructor
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithNoArguments()
- {
- using (var packet = new ImageFramePacket())
- {
- using (var statusOrImageFrame = packet.Consume())
- {
- Assert.AreEqual(Status.StatusCode.Internal, packet.ValidateAsType().Code());
- Assert.AreEqual(Status.StatusCode.Internal, statusOrImageFrame.status.Code());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValue()
- {
- var srcImageFrame = new ImageFrame();
-
- using (var packet = new ImageFramePacket(srcImageFrame))
- {
- Assert.True(srcImageFrame.isDisposed);
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
-
- using (var statusOrImageFrame = packet.Consume())
- {
- Assert.True(statusOrImageFrame.Ok());
-
- using (var imageFrame = statusOrImageFrame.Value())
- {
- Assert.AreEqual(ImageFormat.Types.Format.Unknown, imageFrame.Format());
- }
- }
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValueAndTimestamp()
- {
- var srcImageFrame = new ImageFrame();
-
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new ImageFramePacket(srcImageFrame, timestamp))
- {
- Assert.True(srcImageFrame.isDisposed);
- Assert.True(packet.ValidateAsType().Ok());
-
- using (var statusOrImageFrame = packet.Consume())
- {
- Assert.True(statusOrImageFrame.Ok());
-
- using (var imageFrame = statusOrImageFrame.Value())
- {
- Assert.AreEqual(ImageFormat.Types.Format.Unknown, imageFrame.Format());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new ImageFramePacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new ImageFramePacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- var packet = new ImageFramePacket(new ImageFrame(ImageFormat.Types.Format.Srgba, 10, 10)).At(timestamp);
- Assert.AreEqual(10, packet.Get().Width());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.AreEqual(10, newPacket.Get().Width());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #Get
- [Test, SignalAbort]
- public void Get_ShouldThrowMediaPipeException_When_DataIsEmpty()
- {
- using (var packet = new ImageFramePacket())
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { packet.Get(); });
-#pragma warning restore IDE0058
- }
- }
-
- public void Get_ShouldReturnImageFrame_When_DataIsNotEmpty()
- {
- using (var packet = new ImageFramePacket(new ImageFrame(ImageFormat.Types.Format.Sbgra, 10, 10)))
- {
- using (var imageFrame = packet.Get())
- {
- Assert.AreEqual(ImageFormat.Types.Format.Sbgra, imageFrame.Format());
- Assert.AreEqual(10, imageFrame.Width());
- Assert.AreEqual(10, imageFrame.Height());
- }
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldReturnImageFrame()
- {
- using (var packet = new ImageFramePacket(new ImageFrame(ImageFormat.Types.Format.Sbgra, 10, 10)))
- {
- using (var statusOrImageFrame = packet.Consume())
- {
- Assert.True(statusOrImageFrame.Ok());
-
- using (var imageFrame = statusOrImageFrame.Value())
- {
- Assert.AreEqual(ImageFormat.Types.Format.Sbgra, imageFrame.Format());
- Assert.AreEqual(10, imageFrame.Width());
- Assert.AreEqual(10, imageFrame.Height());
- }
- }
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- using (var packet = new ImageFramePacket(new ImageFrame()))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/ImageFramePacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/ImageFramePacketTest.cs.meta
deleted file mode 100644
index 4c18fb1..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/ImageFramePacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a3eb7f3538d626cd68495da48b11e6f7
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/MatrixPacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/MatrixPacketTest.cs
deleted file mode 100644
index 4d361e8..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/MatrixPacketTest.cs
+++ /dev/null
@@ -1,111 +0,0 @@
-// 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 System.Collections.Generic;
-using NUnit.Framework;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class MatrixPacketTest
- {
- #region Constructor
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithValue()
- {
- var matrix = CreateMatrixInputData();
- using (var packet = new MatrixPacket(matrix))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual(matrix, packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new MatrixPacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new MatrixPacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- var matrix = CreateMatrixInputData();
- var packet = new MatrixPacket(matrix).At(timestamp);
- Assert.AreEqual(matrix, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.AreEqual(matrix, newPacket.Get());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldThrowNotSupportedException()
- {
- using (var packet = new MatrixPacket())
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { packet.Consume(); });
-#pragma warning restore IDE0058
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- using (var packet = new MatrixPacket(CreateMatrixInputData()))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
-
- private static MatrixData CreateMatrixInputData()
- {
- var matrix = new MatrixData();
- matrix.PackedData.Add(0);
- matrix.PackedData.Add(1);
- matrix.PackedData.Add(2);
- matrix.PackedData.Add(3);
- matrix.PackedData.Add(4);
- matrix.PackedData.Add(5);
-
- matrix.Rows = 2;
- matrix.Cols = 3;
- return matrix;
- }
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/MatrixPacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/MatrixPacketTest.cs.meta
deleted file mode 100644
index b349e37..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/MatrixPacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: a3a4963f37dcdcc43a8292c2493c19bc
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/PacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/PacketTest.cs
deleted file mode 100644
index 8f9d4ac..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/PacketTest.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-// 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 PacketTest
- {
- #region #DebugString
- [Test]
- public void DebugString_ShouldReturnDebugString_When_InstantiatedWithDefaultConstructor()
- {
- using (var packet = new BoolPacket())
- {
- Assert.AreEqual("mediapipe::Packet with timestamp: Timestamp::Unset() and no data", packet.DebugString());
- }
- }
- #endregion
-
- #region #DebugTypeName
- [Test]
- public void DebugTypeName_ShouldReturnTypeName_When_ValueIsNotSet()
- {
- using (var packet = new BoolPacket())
- {
- Assert.AreEqual("{empty}", packet.DebugTypeName());
- }
- }
- #endregion
-
- #region #RegisteredTypeName
- [Test]
- public void RegisteredTypeName_ShouldReturnEmptyString()
- {
- using (var packet = new BoolPacket())
- {
- Assert.AreEqual("", packet.RegisteredTypeName());
- }
- }
- #endregion
-
- #region #ValidateAsProtoMessageLite
- [Test]
- public void ValidateAsProtoMessageLite_ShouldReturnInvalidArgument_When_ValueIsBool()
- {
- using (var packet = new BoolPacket(true))
- {
- Assert.AreEqual(Status.StatusCode.InvalidArgument, packet.ValidateAsProtoMessageLite().Code());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/PacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/PacketTest.cs.meta
deleted file mode 100644
index 3d1c74c..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/PacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8c8b062f481adfe73be16b679e3c1cca
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/SidePacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/SidePacketTest.cs
deleted file mode 100644
index ce02c30..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/SidePacketTest.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-// 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 SidePacketTest
- {
- #region #size
- [Test]
- public void Size_ShouldReturnZero_When_Initialized()
- {
- using (var sidePacket = new SidePacket())
- {
- Assert.AreEqual(0, sidePacket.size);
- }
- }
-
- [Test]
- public void Size_ShouldReturnSize_When_AfterPacketsAreEmplaced()
- {
- using (var sidePacket = new SidePacket())
- {
- var flagPacket = new BoolPacket(true);
- var valuePacket = new FloatPacket(1.0f);
- sidePacket.Emplace("flag", flagPacket);
- sidePacket.Emplace("value", valuePacket);
-
- Assert.AreEqual(2, sidePacket.size);
- Assert.True(flagPacket.isDisposed);
- Assert.True(valuePacket.isDisposed);
- }
- }
- #endregion
-
- #region #Emplace
- [Test]
- public void Emplace_ShouldInsertAndDisposePacket()
- {
- using (var sidePacket = new SidePacket())
- {
- Assert.AreEqual(0, sidePacket.size);
- Assert.IsNull(sidePacket.At("value"));
-
- var flagPacket = new FloatPacket(1.0f);
- sidePacket.Emplace("value", flagPacket);
-
- Assert.AreEqual(1, sidePacket.size);
- Assert.AreEqual(1.0f, sidePacket.At("value").Get());
- Assert.True(flagPacket.isDisposed);
- }
- }
-
- [Test]
- public void Emplace_ShouldIgnoreValue_When_KeyExists()
- {
- using (var sidePacket = new SidePacket())
- {
- var oldValuePacket = new FloatPacket(1.0f);
- sidePacket.Emplace("value", oldValuePacket);
- Assert.AreEqual(1.0f, sidePacket.At("value").Get());
-
- var newValuePacket = new FloatPacket(2.0f);
- sidePacket.Emplace("value", newValuePacket);
- Assert.AreEqual(1.0f, sidePacket.At("value").Get());
- }
- }
- #endregion
-
- #region #Erase
- [Test]
- public void Erase_ShouldDoNothing_When_KeyDoesNotExist()
- {
- using (var sidePacket = new SidePacket())
- {
- var count = sidePacket.Erase("value");
-
- Assert.AreEqual(0, sidePacket.size);
- Assert.AreEqual(0, count);
- }
- }
-
- [Test]
- public void Erase_ShouldEraseKey_When_KeyExists()
- {
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("value", new BoolPacket(true));
- Assert.AreEqual(1, sidePacket.size);
-
- var count = sidePacket.Erase("value");
- Assert.AreEqual(0, sidePacket.size);
- Assert.AreEqual(1, count);
- }
- }
- #endregion
-
- #region #Clear
- [Test]
- public void Clear_ShouldDoNothing_When_SizeIsZero()
- {
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Clear();
-
- Assert.AreEqual(0, sidePacket.size);
- }
- }
-
- [Test]
- public void Clear_ShouldClearAllKeys_When_SizeIsNotZero()
- {
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("flag", new BoolPacket(true));
- sidePacket.Emplace("value", new FloatPacket(1.0f));
- Assert.AreEqual(2, sidePacket.size);
-
- sidePacket.Clear();
- Assert.AreEqual(0, sidePacket.size);
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/SidePacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/SidePacketTest.cs.meta
deleted file mode 100644
index 7b0d6e0..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/SidePacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 148809b5633f2f8cd9f277e01bb7b0ca
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/StringPacketTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/StringPacketTest.cs
deleted file mode 100644
index f5b3ccc..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/StringPacketTest.cs
+++ /dev/null
@@ -1,177 +0,0 @@
-// 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;
-using System.Text.RegularExpressions;
-
-namespace Mediapipe.Tests
-{
- public class StringPacketTest
- {
- #region Constructor
- [Test, SignalAbort]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithNoArguments()
- {
- using (var packet = new StringPacket())
- {
-#pragma warning disable IDE0058
- Assert.AreEqual(Status.StatusCode.Internal, packet.ValidateAsType().Code());
- Assert.Throws(() => { packet.Get(); });
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
-#pragma warning restore IDE0058
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithString()
- {
- using (var packet = new StringPacket("test"))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual("test", packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithByteArray()
- {
- var bytes = new byte[] { (byte)'t', (byte)'e', (byte)'s', (byte)'t' };
- using (var packet = new StringPacket(bytes))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual("test", packet.Get());
- Assert.AreEqual(Timestamp.Unset(), packet.Timestamp());
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithStringAndTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new StringPacket("test", timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual("test", packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
-
- [Test]
- public void Ctor_ShouldInstantiatePacket_When_CalledWithByteArrayAndTimestamp()
- {
- var bytes = new byte[] { (byte)'t', (byte)'e', (byte)'s', (byte)'t' };
- using (var timestamp = new Timestamp(1))
- {
- using (var packet = new StringPacket(bytes, timestamp))
- {
- Assert.True(packet.ValidateAsType().Ok());
- Assert.AreEqual("test", packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var packet = new StringPacket())
- {
- Assert.False(packet.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var packet = new StringPacket();
- packet.Dispose();
-
- Assert.True(packet.isDisposed);
- }
- #endregion
-
- #region #At
- [Test]
- public void At_ShouldReturnNewPacketWithTimestamp()
- {
- using (var timestamp = new Timestamp(1))
- {
- var str = "str";
- var packet = new StringPacket(str).At(timestamp);
- Assert.AreEqual(str, packet.Get());
- Assert.AreEqual(timestamp, packet.Timestamp());
-
- using (var newTimestamp = new Timestamp(2))
- {
- var newPacket = packet.At(newTimestamp);
- Assert.AreEqual(str, newPacket.Get());
- Assert.AreEqual(newTimestamp, newPacket.Timestamp());
- }
-
- Assert.AreEqual(timestamp, packet.Timestamp());
- }
- }
- #endregion
-
- #region #GetByteArray
- [Test]
- public void GetByteArray_ShouldReturnByteArray()
- {
- var bytes = new byte[] { (byte)'a', (byte)'b', 0, (byte)'c' };
- using (var packet = new StringPacket(bytes))
- {
- Assert.AreEqual(bytes, packet.GetByteArray());
- Assert.AreEqual("ab", packet.Get());
- }
- }
- #endregion
-
- #region #Consume
- [Test]
- public void Consume_ShouldReturnStatusOrString_When_PacketIsEmpty()
- {
- using (var packet = new StringPacket())
- {
- using (var statusOrString = packet.Consume())
- {
- Assert.False(statusOrString.Ok());
- Assert.AreEqual(Status.StatusCode.Internal, statusOrString.status.Code());
- }
- }
- }
-
- [Test]
- public void Consume_ShouldReturnStatusOrString_When_PacketIsNotEmpty()
- {
- using (var packet = new StringPacket("abc"))
- {
- using (var statusOrString = packet.Consume())
- {
- Assert.True(statusOrString.Ok());
- Assert.AreEqual("abc", statusOrString.Value());
- }
- Assert.True(packet.IsEmpty());
- }
- }
- #endregion
-
- #region #ValidateAsType
- [Test]
- public void ValidateAsType_ShouldReturnOk_When_ValueIsSet()
- {
- using (var packet = new StringPacket("test"))
- {
- Assert.True(packet.ValidateAsType().Ok());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/StringPacketTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/StringPacketTest.cs.meta
deleted file mode 100644
index 53e5f18..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Packet/StringPacketTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1fc360374ea123c28b7da8b9b81ebac6
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port.meta
deleted file mode 100644
index 97b3b19..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 62cf7906c5d34b94b984c3b13300b589
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrGpuResourcesTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrGpuResourcesTest.cs
deleted file mode 100644
index 1412e83..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrGpuResourcesTest.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-// 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);
- Assert.True(statusOrGpuResources.isDisposed);
- }
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrGpuResourcesTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrGpuResourcesTest.cs.meta
deleted file mode 100644
index e7545ea..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrGpuResourcesTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 744f3edd2e0a5c864b1e59a13c017bbd
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrImageFrameTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrImageFrameTest.cs
deleted file mode 100644
index 1d60df7..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrImageFrameTest.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-// 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();
- }
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrImageFrameTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrImageFrameTest.cs.meta
deleted file mode 100644
index dd6cada..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrImageFrameTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 466caabcab9db68b9bf6cd8b2ea6829a
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrStringTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrStringTest.cs
deleted file mode 100644
index 25c761d..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrStringTest.cs
+++ /dev/null
@@ -1,87 +0,0 @@
-// 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();
- }
- }
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrStringTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrStringTest.cs.meta
deleted file mode 100644
index e969bed..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusOrStringTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 033bc341009a18e46920a405cd163bfb
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusTest.cs
deleted file mode 100644
index 49d0aaa..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusTest.cs
+++ /dev/null
@@ -1,286 +0,0 @@
-// 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(() => { 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
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusTest.cs.meta
deleted file mode 100644
index 30b46c2..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Port/StatusTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: cb9c4c0cb4b7c323db90d8592b4684cb
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/TimestampTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/TimestampTest.cs
deleted file mode 100644
index adeef7d..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/TimestampTest.cs
+++ /dev/null
@@ -1,254 +0,0 @@
-// 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 TimestampTest
- {
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var timestamp = new Timestamp(1))
- {
- Assert.False(timestamp.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var timestamp = new Timestamp(1);
- timestamp.Dispose();
-
- Assert.True(timestamp.isDisposed);
- }
- #endregion
-
- #region #Value
- [Test]
- public void Value_ShouldReturnValue()
- {
- using (var timestamp = new Timestamp(10))
- {
- Assert.AreEqual(10, timestamp.Value());
- }
- }
- #endregion
-
- #region #Seconds
- [Test]
- public void Seconds_ShouldReturnValueInSeconds()
- {
- using (var timestamp = new Timestamp(1_000_000))
- {
- Assert.AreEqual(1d, timestamp.Seconds(), 1e-9);
- }
- }
- #endregion
-
- #region #Microseconds
- [Test]
- public void Microseconds_ShouldReturnValueInMicroseconds()
- {
- using (var timestamp = new Timestamp(1_000_000))
- {
- Assert.AreEqual(1_000_000, timestamp.Microseconds());
- }
- }
- #endregion
-
- #region #IsSpecialValue
- [Test]
- public void IsSpecialValue_ShouldReturnFalse_When_ValueIsInRange()
- {
- using (var timestamp = new Timestamp(1))
- {
- Assert.False(timestamp.IsSpecialValue());
- }
- }
-
- [Test]
- public void IsSpecialValue_ShouldReturnTrue_When_TimestampIsUnset()
- {
- using (var timestamp = Timestamp.Unset())
- {
- Assert.True(timestamp.IsSpecialValue());
- }
- }
-
- [Test]
- public void IsSpecialValue_ShouldReturnTrue_When_TimestampIsUnstarted()
- {
- using (var timestamp = Timestamp.Unstarted())
- {
- Assert.True(timestamp.IsSpecialValue());
- }
- }
- #endregion
-
- #region #IsRangeValue
- [Test]
- public void IsRangeValue_ShouldReturnTrue_When_ValueIsInRange()
- {
- using (var timestamp = new Timestamp(1))
- {
- Assert.True(timestamp.IsRangeValue());
- }
- }
-
- [Test]
- public void IsRangeValue_ShouldReturnFalse_When_TimestampIsPreStream()
- {
- using (var timestamp = Timestamp.PreStream())
- {
- Assert.False(timestamp.IsRangeValue());
- }
- }
-
- [Test]
- public void IsRangeValue_ShouldReturnFalse_When_TimestampIsPostStream()
- {
- using (var timestamp = Timestamp.PostStream())
- {
- Assert.False(timestamp.IsRangeValue());
- }
- }
-
- [Test]
- public void IsRangeValue_ShouldReturnTrue_When_TimestampIsMin()
- {
- using (var timestamp = Timestamp.Min())
- {
- Assert.True(timestamp.IsRangeValue());
- }
- }
-
- [Test]
- public void IsRangeValue_ShouldReturnTrue_When_TimestampIsMax()
- {
- using (var timestamp = Timestamp.Max())
- {
- Assert.True(timestamp.IsRangeValue());
- }
- }
- #endregion
-
- #region #IsAllowedInStream
- [Test]
- public void IsAllowedInStream_ShouldReturnTrue_When_ValueIsInRange()
- {
- using (var timestamp = new Timestamp(1))
- {
- Assert.True(timestamp.IsAllowedInStream());
- }
- }
-
- [Test]
- public void IsAllowedInStream_ShouldReturnFalse_When_TimestampIsOneOverPostStream()
- {
- using (var timestamp = Timestamp.OneOverPostStream())
- {
- Assert.False(timestamp.IsAllowedInStream());
- }
- }
-
- [Test]
- public void IsAllowedInStream_ShouldReturnFalse_When_TimestampIsDone()
- {
- using (var timestamp = Timestamp.Done())
- {
- Assert.False(timestamp.IsAllowedInStream());
- }
- }
- #endregion
-
- #region #DebugString
- [Test]
- public void DebugString_ShouldReturnDebugString()
- {
- using (var timestamp = new Timestamp(1))
- {
- Assert.AreEqual("1", timestamp.DebugString());
- }
- }
-
- [Test]
- public void DebugString_ShouldReturnDebugString_When_TimestampIsUnset()
- {
- using (var timestamp = Timestamp.Unset())
- {
- Assert.AreEqual("Timestamp::Unset()", timestamp.DebugString());
- }
- }
- #endregion
-
- #region #NextAllowedInStream
- [Test]
- public void NextAllowedInStream_ShouldReturnNextTimestamp_When_ValueIsInRange()
- {
- using (var timestamp = new Timestamp(1))
- {
- using (var nextTimestamp = timestamp.NextAllowedInStream())
- {
- Assert.AreEqual(2, nextTimestamp.Microseconds());
- }
- }
- }
-
- [Test]
- public void NextAllowedInStream_ShouldReturnOneOverPostStream_When_TimestampIsPostStream()
- {
- using (var timestamp = Timestamp.PostStream())
- {
- using (var nextTimestamp = timestamp.NextAllowedInStream())
- {
- Assert.AreEqual(Timestamp.OneOverPostStream(), nextTimestamp);
- }
- }
- }
- #endregion
-
- #region #PreviousAllowedInStream
- [Test]
- public void PreviousAllowedInStream_ShouldReturnPreviousTimestamp_When_ValueIsInRange()
- {
- using (var timestamp = new Timestamp(1))
- {
- using (var nextTimestamp = timestamp.PreviousAllowedInStream())
- {
- Assert.AreEqual(0, nextTimestamp.Microseconds());
- }
- }
- }
-
- [Test]
- public void PreviousAllowedInStream_ShouldReturnUnstarted_When_TimestampIsPreStream()
- {
- using (var timestamp = Timestamp.PreStream())
- {
- using (var nextTimestamp = timestamp.PreviousAllowedInStream())
- {
- Assert.AreEqual(Timestamp.Unstarted(), nextTimestamp);
- }
- }
- }
- #endregion
-
- #region #FromSeconds
- [Test]
- public void FromSeconds_ShouldReturnTimestamp()
- {
- using (var timestamp = Timestamp.FromSeconds(1d))
- {
- Assert.AreEqual(1_000_000, timestamp.Microseconds());
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/TimestampTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/TimestampTest.cs.meta
deleted file mode 100644
index a5dfbda..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/TimestampTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 4a89b44de17930bf6bcbf5f75f57c100
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool.meta
deleted file mode 100644
index e554234..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b737c0d514315064ebd2a4180cc065a3
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/NameUtilTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/NameUtilTest.cs
deleted file mode 100644
index 3fcc7b7..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/NameUtilTest.cs
+++ /dev/null
@@ -1,156 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class NameUtilTest
- {
- [TestCase("{}", "base", "base")]
- [TestCase(@"{""node"":[{""name"":""a""}]}", "base", "base")]
- [TestCase(@"{""node"":[{},{}]}", "", "")]
- [TestCase(@"{""node"":[{""name"":""base""},{""name"":""base_02""}]}", "base", "base_03")]
- public void GetUnusedNodeName_ShouldReturnUniqueName(string configJson, string nameBase, string uniqueName)
- {
- var config = CalculatorGraphConfig.Parser.ParseJson(configJson);
- Assert.AreEqual(uniqueName, Tool.GetUnusedNodeName(config, nameBase));
- }
-
- [TestCase("{}", "base", "base")]
- [TestCase(@"{""node"":[{""input_side_packet"":[""a""]}]}", "base", "base")]
- [TestCase(@"{""node"":[{},{""input_side_packet"":[]}]}", "", "")]
- [TestCase(@"{""node"":[{""input_side_packet"":[""base""]},{""input_side_packet"":[""TAG:base_02""]}]}", "base", "base_03")]
- public void GetUnusedSidePacketName_ShouldReturnUniqueName(string configJson, string nameBase, string uniqueName)
- {
- var config = CalculatorGraphConfig.Parser.ParseJson(configJson);
- Assert.AreEqual(uniqueName, Tool.GetUnusedSidePacketName(config, nameBase));
- }
-
- [TestCase(@"{""node"":[{""name"":""x""}]}", 0, "x")]
- [TestCase(@"{""node"":[{""name"":""x""},{""name"":""x""},{""name"":""y""},{""name"":""x""}]}", 0, "x_1")]
- [TestCase(@"{""node"":[{""name"":""x""},{""name"":""x""},{""name"":""y""},{""name"":""x""}]}", 1, "x_2")]
- [TestCase(@"{""node"":[{""name"":""x""},{""name"":""x""},{""name"":""y""},{""name"":""x""}]}", 2, "y")]
- [TestCase(@"{""node"":[{""name"":""x""},{""name"":""x""},{""name"":""y""},{""name"":""x""}]}", 3, "x_3")]
- [TestCase(@"{""node"":[{""calculator"":""x""},{""name"":""x""}]}", 0, "x_1")]
- [TestCase(@"{""node"":[{""calculator"":""x""},{""name"":""x""}]}", 1, "x_2")]
- [TestCase(@"{""node"":[{""name"":""x""},{""calculator"":""x""}]}", 0, "x_1")]
- [TestCase(@"{""node"":[{""name"":""x""},{""calculator"":""x""}]}", 1, "x_2")]
- public void CanonicalNodeName_ShouldReturnCanonicalNodeName_When_NodeIdIsValid(string configJson, int nodeId, string name)
- {
- var config = CalculatorGraphConfig.Parser.ParseJson(configJson);
- Assert.AreEqual(name, Tool.CanonicalNodeName(config, nodeId));
- }
-
- [Test]
- public void CanonicalNodeName_ShouldThrow_When_NodeIdIsNegative()
- {
- var config = CalculatorGraphConfig.Parser.ParseJson(@"{""node"":[{""name"":""name""}]}");
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.CanonicalNodeName(config, -1); });
-#pragma warning restore IDE0058
- }
-
- [Test]
- public void CanonicalNodeName_ShouldThrow_When_NodeIdIsInvalid()
- {
- var config = CalculatorGraphConfig.Parser.ParseJson(@"{""node"":[{""name"":""name""}]}");
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.CanonicalNodeName(config, 1); });
-#pragma warning restore IDE0058
- }
-
- [Test]
- public void CanonicalNodeName_ShouldThrow_When_NodeIsEmpty()
- {
- var config = CalculatorGraphConfig.Parser.ParseJson("{}");
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.CanonicalNodeName(config, 0); });
-#pragma warning restore IDE0058
- }
-
- [TestCase("stream", "stream")]
- [TestCase("TAG:x", "x")]
- [TestCase("TAG:1:x", "x")]
- public void ParseNameFromStream_ShouldReturnName_When_InputIsValid(string stream, string name)
- {
- Assert.AreEqual(name, Tool.ParseNameFromStream(stream));
- }
-
- [TestCase(":stream")]
- [TestCase("TAG::stream")]
- [TestCase("TAG:1:")]
- public void ParseNameFromStream_ShouldThrow_When_InputIsInvalid(string stream)
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ParseNameFromStream(stream); });
-#pragma warning restore IDE0058
- }
-
- [TestCase("", "", 0)]
- [TestCase("TAG", "TAG", 0)]
- [TestCase(":1", "", 1)]
- [TestCase("TAG:1", "TAG", 1)]
- public void ParseTagIndex_ShouldReturnTagIndexPair_When_InputIsValid(string tagIndex, string tag, int index)
- {
- var output = Tool.ParseTagIndex(tagIndex);
-
- Assert.AreEqual(tag, output.Item1);
- Assert.AreEqual(index, output.Item2);
- }
-
- [TestCase("tag")]
- [TestCase(":")]
- [TestCase("TAG:")]
- [TestCase("1")]
- public void ParseTagIndex_ShouldThrow_When_InputIsInvalid(string tagIndex)
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ParseTagIndex(tagIndex); });
-#pragma warning restore IDE0058
- }
-
- [TestCase("stream", "", -1)]
- [TestCase("TAG:x", "TAG", 0)]
- [TestCase("TAG:1:x", "TAG", 1)]
- public void ParseTagIndexFromStream_ShouldReturnTagIndexPair_When_InputIsValid(string stream, string tag, int index)
- {
- var output = Tool.ParseTagIndexFromStream(stream);
-
- Assert.AreEqual(tag, output.Item1);
- Assert.AreEqual(index, output.Item2);
- }
-
- [TestCase(":stream")]
- [TestCase("TAG::stream")]
- [TestCase("TAG:1:")]
- public void ParseTagIndexFromStream_ShouldThrow_When_InputIsInvalid(string stream)
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ParseTagIndexFromStream(stream); });
-#pragma warning restore IDE0058
- }
-
- [TestCase("", -1, "")]
- [TestCase("", 1, "")]
- [TestCase("TAG", -1, "TAG")]
- [TestCase("TAG", 1, "TAG:1")]
- public void CatTag_ShouldReturnTag(string tag, int index, string output)
- {
- Assert.AreEqual(output, Tool.CatTag(tag, index));
- }
-
- [TestCase("", -1, "x", "x")]
- [TestCase("", 1, "x", "x")]
- [TestCase("TAG", -1, "x", "TAG:x")]
- [TestCase("TAG", 1, "x", "TAG:1:x")]
- public void CatStream_ShouldReturnStream(string tag, int index, string name, string output)
- {
- Assert.AreEqual(output, Tool.CatStream((tag, index), name));
- }
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/NameUtilTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/NameUtilTest.cs.meta
deleted file mode 100644
index 9ca8108..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/NameUtilTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 7707b1c1356d57b29b1ad8932beca1a4
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/ValidateNameTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/ValidateNameTest.cs
deleted file mode 100644
index 75192d9..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/ValidateNameTest.cs
+++ /dev/null
@@ -1,290 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class ValidateNameTest
- {
- #region .ValidateName
- [TestCase("humphrey")]
- [TestCase("humphrey_bogart")]
- [TestCase("humphrey_bogart_1899")]
- [TestCase("aa")]
- [TestCase("b1")]
- [TestCase("_1")]
- public void ValidateName_ShouldNotThrow_WhenNameIsValid(string name)
- {
- Assert.DoesNotThrow(() => { Tool.ValidateName(name); });
- }
-
- [TestCase("")]
- [TestCase("humphrey bogart")]
- [TestCase("humphreyBogart")]
- [TestCase("humphrey-bogart")]
- [TestCase("humphrey/bogart")]
- [TestCase("humphrey.bogart")]
- [TestCase("humphrey:bogart")]
- [TestCase("1ST")]
- [TestCase("7_ELEVEN")]
- [TestCase("401K")]
- [TestCase("0")]
- [TestCase("1")]
- [TestCase("11")]
- [TestCase("92091")]
- [TestCase("1st")]
- [TestCase("7_eleven")]
- [TestCase("401k")]
- [TestCase("\0contains_escapes\t")]
- public void ValidateName_ShouldThrow_WhenNameIsInvalid(string name)
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ValidateName(name); });
-#pragma warning restore IDE0058
- }
- #endregion
-
- #region .ValidateNumber
- [TestCase("0")]
- [TestCase("10")]
- [TestCase("1234567890")]
- public void ValidateNumber_ShouldNotThrow_WhenNumberIsValid(string number)
- {
- Assert.DoesNotThrow(() => { Tool.ValidateNumber(number); });
- }
-
- [TestCase("01")]
- [TestCase("1a")]
- public void ValidateNumber_ShouldThrow_WhenNumberIsInvalid(string number)
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ValidateNumber(number); });
-#pragma warning restore IDE0058
- }
- #endregion
-
- #region .ValidateTag
- [TestCase("MALE")]
- [TestCase("MALE_ACTOR")]
- [TestCase("ACTOR_1899")]
- [TestCase("AA")]
- [TestCase("B1")]
- [TestCase("_1")]
- public void ValidateTag_ShouldNotThrow_WhenTagIsValid(string tag)
- {
- Assert.DoesNotThrow(() => { Tool.ValidateTag(tag); });
- }
-
- [TestCase("")]
- [TestCase("MALE ACTOR")]
- [TestCase("MALEaCTOR")]
- [TestCase("MALE-ACTOR")]
- [TestCase("MALE/ACTOR")]
- [TestCase("MALE.ACTOR")]
- [TestCase("MALE:ACTOR")]
- [TestCase("0")]
- [TestCase("1")]
- [TestCase("11")]
- [TestCase("92091")]
- [TestCase("1ST")]
- [TestCase("7_ELEVEN")]
- [TestCase("401K")]
- [TestCase("\0CONTAINS_ESCAPES\t")]
- public void ValidateTag_ShouldThrow_WhenTagIsInvalid(string tag)
- {
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ValidateTag(tag); });
-#pragma warning restore IDE0058
- }
- #endregion
-
- #region .ParseTagAndName
- [TestCase("MALE:humphrey", "MALE", "humphrey")]
- [TestCase("ACTOR:humphrey_bogart", "ACTOR", "humphrey_bogart")]
- [TestCase("ACTOR_1899:humphrey_1899", "ACTOR_1899", "humphrey_1899")]
- [TestCase("humphrey_bogart", "", "humphrey_bogart")]
- [TestCase("ACTOR:humphrey", "ACTOR", "humphrey")]
- public void ParseTagAndName_ShouldParseInput_When_InputIsValid(string input, string expectedTag, string expectedName)
- {
- Tool.ParseTagAndName(input, out var tag, out var name);
-
- Assert.AreEqual(expectedTag, tag);
- Assert.AreEqual(expectedName, name);
- }
-
- [TestCase(":humphrey")]
- [TestCase("humphrey bogart")]
- [TestCase("actor:humphrey")]
- [TestCase("actor:humphrey")]
- [TestCase("ACTOR:HUMPHREY")]
- public void ParseTagAndName_ShouldThrow_When_InputIsInvalid(string input)
- {
- var tag = "UNTOUCHED";
- var name = "untouched";
-
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ParseTagAndName(input, out tag, out name); });
- Assert.AreEqual("UNTOUCHED", tag);
- Assert.AreEqual("untouched", name);
-#pragma warning restore IDE0058
- }
-
- [Test]
- public void ParseTagAndName_ShouldThrow_When_InputIncludesBadCharacters(
- [Values(' ', '-', '/', '.', ':')] char ch,
- [Values("MALE$0ACTOR:humphrey", "ACTOR:humphrey$0:bogart")] string str
- )
- {
- ParseTagAndName_ShouldThrow_When_InputIsInvalid(str.Replace("$0", $"{ch}"));
- }
- #endregion
-
- #region .ParseTagIndexName
- [TestCase("MALE:humphrey", "MALE", 0, "humphrey")]
- [TestCase("ACTOR:humphrey_bogart", "ACTOR", 0, "humphrey_bogart")]
- [TestCase("ACTOR_1899:humphrey_1899", "ACTOR_1899", 0, "humphrey_1899")]
- [TestCase("humphrey_bogart", "", -1, "humphrey_bogart")]
- [TestCase("ACTRESS:3:mieko_harada", "ACTRESS", 3, "mieko_harada")]
- [TestCase("ACTRESS:0:mieko_harada", "ACTRESS", 0, "mieko_harada")]
- [TestCase("A1:100:mieko1", "A1", 100, "mieko1")]
- [TestCase("A1:10000:mieko1", "A1", 10000, "mieko1")]
- public void ParseTagIndexName_ShouldParseInput_When_InputIsValid(string input, string expectedTag, int expectedIndex, string expectedName)
- {
- Tool.ParseTagIndexName(input, out var tag, out var index, out var name);
-
- Assert.AreEqual(expectedTag, tag);
- Assert.AreEqual(expectedIndex, index);
- Assert.AreEqual(expectedName, name);
- }
-
- [TestCase("")]
- [TestCase("A")]
- [TestCase("Aa")]
- [TestCase("aA")]
- [TestCase("1a")]
- [TestCase("1")]
- [TestCase(":name")]
- [TestCase("A:")]
- [TestCase("a:name")]
- [TestCase("Aa:name")]
- [TestCase("aA:name")]
- [TestCase("1A:name")]
- [TestCase("1:name")]
- [TestCase(":1:name")]
- [TestCase("A:1:")]
- [TestCase("A::name")]
- [TestCase("a:1:name")]
- [TestCase("Aa:1:name")]
- [TestCase("aA:1:name")]
- [TestCase("1A:1:name")]
- [TestCase("1:1:name")]
- [TestCase("A:1:N")]
- [TestCase("A:1:nN")]
- [TestCase("A:1:Nn")]
- [TestCase("A:1:1name")]
- [TestCase("A:1:1")]
- [TestCase("A:-0:name")]
- [TestCase("A:-1:name")]
- [TestCase("A:01:name")]
- [TestCase("A:00:name")]
- [TestCase("A:10001:a")]
- [TestCase("A:1:a:")]
- [TestCase(":A:1:a")]
- [TestCase("A:1:a:a")]
- [TestCase("A:1:a:A")]
- [TestCase("A:1:a:1")]
- public void ParseTagIndexName_ShouldThrow_When_InputIsInvalid(string input)
- {
- var tag = "UNTOUCHED";
- var index = -1;
- var name = "untouched";
-
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ParseTagIndexName(input, out tag, out index, out name); });
- Assert.AreEqual("UNTOUCHED", tag);
- Assert.AreEqual(-1, index);
- Assert.AreEqual("untouched", name);
-#pragma warning restore IDE0058
- }
-
- [Test]
- public void ParseTagIndexName_ShouldThrow_When_InputIncludesBadCharacters(
- [Values('!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '{', '}', '[', ']',
- '/', '=', '?', '+', '\\', '|', '-', ';', ':', '\'', '"', '<', '.', '>')] char ch,
- [Values("$0", "$0a", "a$0", "$0:a", "A$0:a", "$0A:a", "A:$0:a", "A:$01:a", "A:1$0:a", "A:1:a$0", "$0A:1:a")] string str
- )
- {
- ParseTagIndexName_ShouldThrow_When_InputIsInvalid(str.Replace("$0", $"{ch}"));
- }
- #endregion
-
- #region .ParseTagIndex
- [TestCase("", "", 0)]
- [TestCase("VIDEO:0", "VIDEO", 0)]
- [TestCase("VIDEO:1", "VIDEO", 1)]
- [TestCase("AUDIO:2", "AUDIO", 2)]
- [TestCase(":0", "", 0)]
- [TestCase(":1", "", 1)]
- [TestCase(":100", "", 100)]
- [TestCase("VIDEO:10000", "VIDEO", 10000)]
- public void ParseTagIndex_ShouldParseInput_When_InputIsValid(string input, string expectedTag, int expectedIndex)
- {
- Tool.ParseTagIndex(input, out var tag, out var index);
-
- Assert.AreEqual(expectedTag, tag);
- Assert.AreEqual(expectedIndex, index);
- }
-
- [TestCase("a")]
- [TestCase("Aa")]
- [TestCase("aA")]
- [TestCase("1A")]
- [TestCase("1")]
- [TestCase(":")]
- [TestCase(":a")]
- [TestCase(":A")]
- [TestCase(":-0")]
- [TestCase(":-1")]
- [TestCase(":01")]
- [TestCase(":00")]
- [TestCase("A:")]
- [TestCase("A:a")]
- [TestCase("A:A")]
- [TestCase("A:-0")]
- [TestCase("A:-1")]
- [TestCase("A:01")]
- [TestCase("A:00")]
- [TestCase("A:10001")]
- [TestCase("A:1:")]
- [TestCase(":A:1")]
- [TestCase("A:1:2")]
- [TestCase("A:A:1")]
- public void ParseTagIndex_ShouldThrow_When_InputIsInvalid(string input)
- {
- var tag = "UNTOUCHED";
- var index = -1;
-
-#pragma warning disable IDE0058
- Assert.Throws(() => { Tool.ParseTagIndex(input, out tag, out index); });
- Assert.AreEqual("UNTOUCHED", tag);
- Assert.AreEqual(-1, index);
-#pragma warning restore IDE0058
- }
-
- [Test]
- public void ParseTagIndex_ShouldThrow_When_InputIncludesBadCharacters(
- [Values('!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '{', '}', '[', ']',
- '/', '=', '?', '+', '\\', '|', '-', ';', ':', '\'', '"', '<', '.', '>')] char ch,
- [Values("$0", "$0A", "A$0", "$0:1", "A$0:1", "$0A:1", "A:1$0", "A:$01")] string str
- )
- {
- ParseTagIndex_ShouldThrow_When_InputIsInvalid(str.Replace("$0", $"{ch}"));
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/ValidateNameTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/ValidateNameTest.cs.meta
deleted file mode 100644
index 42eb7cb..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/Tool/ValidateNameTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 17bfd5c3db2e476b6b04101190819090
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/ValidatedGraphConfigTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/ValidatedGraphConfigTest.cs
deleted file mode 100644
index ead2004..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/ValidatedGraphConfigTest.cs
+++ /dev/null
@@ -1,743 +0,0 @@
-// 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;
-using System.Linq;
-
-namespace Mediapipe.Tests
-{
- public class ValidatedGraphConfigTest
- {
- private const string _PassThroughConfigText = @"
-node {
- calculator: ""PassThroughCalculator""
- input_stream: ""in""
- output_stream: ""out1""
-}
-node {
- calculator: ""PassThroughCalculator""
- input_stream: ""out1""
- output_stream: ""out""
-}
-input_stream: ""in""
-output_stream: ""out""
-";
-
- private const string _FlowLimiterConfigText = @"
-input_stream: ""input_video""
-input_stream: ""output""
-
-node {
- calculator: ""FlowLimiterCalculator""
- input_stream: ""input_video""
- input_stream: ""FINISHED:output""
- input_stream_info: {
- tag_index: ""FINISHED""
- back_edge: true
- }
- input_side_packet: ""MAX_IN_FLIGHT:max_in_flight""
- input_side_packet: ""OPTIONS:flow_limiter_calculator_options""
- output_stream: ""throttled_input_video""
-}
-";
-
- private const string _ImageTransformationConfigText = @"
-input_stream: ""input_video""
-
-node: {
- calculator: ""ImageTransformationCalculator""
- input_stream: ""IMAGE:input_video""
- input_side_packet: ""ROTATION_DEGREES:input_rotation""
- input_side_packet: ""FLIP_HORIZONTALLY:input_horizontally_flipped""
- input_side_packet: ""FLIP_VERTICALLY:input_vertically_flipped""
- output_stream: ""IMAGE:transformed_input_video""
-}
-";
-
- private const string _ConstantSidePacketConfigText = @"
-node {
- calculator: ""ConstantSidePacketCalculator""
- output_side_packet: ""PACKET:0:int_packet""
- output_side_packet: ""PACKET:1:float_packet""
- output_side_packet: ""PACKET:2:bool_packet""
- output_side_packet: ""PACKET:3:string_packet""
- options: {
- [mediapipe.ConstantSidePacketCalculatorOptions.ext]: {
- packet { int_value: 256 }
- packet { float_value: 0.5f }
- packet { bool_value: false }
- packet { string_value: ""string"" }
- }
- }
-}
-";
-
- private const string _FaceDetectionShortRangeConfigText = @"
-input_stream: ""image""
-input_stream: ""roi""
-
-node {
- calculator: ""FaceDetectionShortRange""
- input_stream: ""IMAGE:image""
- input_stream: ""ROI:roi""
- output_stream: ""DETECTIONS:detections""
-}
-";
-
- #region Constructor
- [Test]
- public void Ctor_ShouldInstantiateValidatedGraphConfig()
- {
- Assert.DoesNotThrow(() =>
- {
- var config = new ValidatedGraphConfig();
- config.Dispose();
- });
- }
- #endregion
-
- #region #isDisposed
- [Test]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.False(config.isDisposed);
- }
- }
-
- [Test]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var config = new ValidatedGraphConfig();
- config.Dispose();
-
- Assert.True(config.isDisposed);
- }
- #endregion
-
- #region #Initialize
- [Test]
- public void Initialize_ShouldReturnOk_When_CalledWithConfig()
- {
- using (var config = new ValidatedGraphConfig())
- {
- using (var status = config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)))
- {
- Assert.True(status.Ok());
- }
- Assert.True(config.Initialized());
- }
- }
-
- [Test]
- public void Initialize_ShouldReturnOk_When_CalledWithValidGraphType()
- {
- using (var config = new ValidatedGraphConfig())
- {
- using (var status = config.Initialize("SwitchContainer"))
- {
- Assert.True(status.Ok());
- }
- Assert.True(config.Initialized());
- }
- }
-
- [Test]
- public void Initialize_ShouldReturnInternalError_When_CalledWithInvalidGraphType()
- {
- using (var config = new ValidatedGraphConfig())
- {
- using (var status = config.Initialize("InvalidSubgraph"))
- {
- Assert.AreEqual(Status.StatusCode.NotFound, status.Code());
- }
- Assert.False(config.Initialized());
- }
- }
- #endregion
-
- #region #ValidateRequiredSidePackets
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnOk_When_TheConfigDoesNotRequireSidePackets_And_SidePacketIsEmpty()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.True(status.Ok());
- }
- }
- }
- }
-
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnOk_When_TheConfigDoesNotRequireSidePackets_And_SidePacketIsNotEmpty()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("in", new IntPacket(0));
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.True(status.Ok());
- }
- }
- }
- }
-
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnOk_When_AllTheSidePacketsAreOptional_And_SidePacketIsEmpty()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_FlowLimiterConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.True(status.Ok());
- }
- }
- }
- }
-
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnInvalidArgumentError_When_TheConfigRequiresSidePackets_And_SidePacketIsEmpty()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ImageTransformationConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.AreEqual(Status.StatusCode.InvalidArgument, status.Code());
- }
- }
- }
- }
-
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnInvalidArgumentError_When_AllTheRequiredSidePacketsAreNotGiven()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ImageTransformationConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("input_horizontally_flipped", new BoolPacket(false));
- sidePacket.Emplace("input_vertically_flipped", new BoolPacket(true));
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.AreEqual(Status.StatusCode.InvalidArgument, status.Code());
- }
- }
- }
- }
-
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnInvalidArgumentError_When_TheSidePacketValuesAreWrong()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ImageTransformationConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("input_horizontally_flipped", new BoolPacket(false));
- sidePacket.Emplace("input_vertically_flipped", new BoolPacket(true));
- sidePacket.Emplace("input_rotation", new StringPacket("0"));
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.AreEqual(Status.StatusCode.InvalidArgument, status.Code());
- }
- }
- }
- }
-
- [Test]
- public void ValidateRequiredSidePackets_ShouldReturnOk_When_AllTheRequiredSidePacketsAreGiven()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ImageTransformationConfigText)).AssertOk();
- using (var sidePacket = new SidePacket())
- {
- sidePacket.Emplace("input_horizontally_flipped", new BoolPacket(false));
- sidePacket.Emplace("input_vertically_flipped", new BoolPacket(true));
- sidePacket.Emplace("input_rotation", new IntPacket(0));
- using (var status = config.ValidateRequiredSidePackets(sidePacket))
- {
- Assert.True(status.Ok());
- }
- }
- }
- }
- #endregion
-
- #region Config
- [Test]
- public void Config_ShouldReturnAnEmptyConfig_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- var canonicalizedConfig = config.Config();
- Assert.AreEqual(canonicalizedConfig.CalculateSize(), 0);
- }
- }
-
- [Test]
- public void Config_ShouldReturnTheCanonicalizedConfig_When_TheConfigIsPassThroughConfig()
- {
- using (var config = new ValidatedGraphConfig())
- {
- var originalConfig = CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText);
- config.Initialize(originalConfig).AssertOk();
- var canonicalizedConfig = config.Config();
-
- Assert.AreEqual(originalConfig.Node, canonicalizedConfig.Node);
- Assert.AreEqual(originalConfig.InputStream, canonicalizedConfig.InputStream);
- Assert.AreEqual(originalConfig.OutputStream, canonicalizedConfig.OutputStream);
- Assert.IsEmpty(originalConfig.Executor);
- Assert.AreEqual(1, canonicalizedConfig.Executor.Count);
- Assert.AreEqual(0, canonicalizedConfig.Executor[0].CalculateSize());
-
- Assert.AreEqual(80, originalConfig.CalculateSize());
- Assert.AreEqual(82, canonicalizedConfig.CalculateSize());
- }
- }
-
- [Test]
- public void Config_ShouldReturnTheCanonicalizedConfig_When_TheConfigIsFaceDetectionShortRangeCommonConfig()
- {
- using (var config = new ValidatedGraphConfig())
- {
- var originalConfig = CalculatorGraphConfig.Parser.ParseFromTextFormat(_FaceDetectionShortRangeConfigText);
- config.Initialize(originalConfig).AssertOk();
- var canonicalizedConfig = config.Config();
-
- Assert.AreEqual(84, originalConfig.CalculateSize());
- // 2167 on CPU, 2166 on GPU
- Assert.AreEqual(2166, canonicalizedConfig.CalculateSize(), 1);
- }
- }
- #endregion
-
- #region InputStreamInfos
- [Test]
- public void InputStreamInfos_ShouldReturnEmptyList_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.IsEmpty(config.InputStreamInfos());
- }
- }
-
- [Test]
- public void InputStreamInfos_ShouldReturnEmptyList_When_NoInputStreamExists()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ConstantSidePacketConfigText)).AssertOk();
- Assert.IsEmpty(config.InputStreamInfos());
- }
- }
-
- [Test]
- public void InputStreamInfos_ShouldReturnEdgeInfoList_When_InputStreamsExist()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- var inputStreamInfos = config.InputStreamInfos();
-
- Assert.AreEqual(inputStreamInfos.Count, 2);
-
- var inStream = inputStreamInfos.First((edgeInfo) => edgeInfo.name == "in");
- Assert.AreEqual(0, inStream.upstream);
- Assert.AreEqual(NodeType.Calculator, inStream.parentNode.type);
- Assert.AreEqual(0, inStream.parentNode.index);
- Assert.False(inStream.backEdge);
-
- var out1Stream = inputStreamInfos.First((edgeInfo) => edgeInfo.name == "out1");
- Assert.AreEqual(1, out1Stream.upstream);
- Assert.AreEqual(NodeType.Calculator, out1Stream.parentNode.type);
- Assert.AreEqual(1, out1Stream.parentNode.index);
- Assert.False(out1Stream.backEdge);
- }
- }
- #endregion
-
- #region OutputStreamInfos
- [Test]
- public void OutputStreamInfos_ShouldReturnEmptyList_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.IsEmpty(config.OutputStreamInfos());
- }
- }
-
- [Test]
- public void OutputStreamInfos_ShouldReturnEdgeInfoList_When_OutputStreamsExist()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- var outputStreamInfos = config.OutputStreamInfos();
-
- Assert.AreEqual(3, outputStreamInfos.Count);
-
- var inStream = outputStreamInfos.First((edgeInfo) => edgeInfo.name == "in");
- Assert.AreEqual(-1, inStream.upstream);
- Assert.AreEqual(NodeType.GraphInputStream, inStream.parentNode.type);
- Assert.AreEqual(2, inStream.parentNode.index, 2);
- Assert.False(inStream.backEdge);
-
- var out1Stream = outputStreamInfos.First((edgeInfo) => edgeInfo.name == "out1");
- Assert.AreEqual(-1, out1Stream.upstream);
- Assert.AreEqual(NodeType.Calculator, out1Stream.parentNode.type);
- Assert.AreEqual(0, out1Stream.parentNode.index);
- Assert.False(out1Stream.backEdge);
-
- var outStream = outputStreamInfos.First((edgeInfo) => edgeInfo.name == "out");
- Assert.AreEqual(-1, outStream.upstream);
- Assert.AreEqual(NodeType.Calculator, outStream.parentNode.type);
- Assert.AreEqual(1, outStream.parentNode.index);
- Assert.False(outStream.backEdge);
- }
- }
- #endregion
-
- #region InputSidePacketInfos
- [Test]
- public void InputSidePacketInfos_ShouldReturnEmptyList_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.IsEmpty(config.InputSidePacketInfos());
- }
- }
-
- [Test]
- public void InputSidePacketInfos_ShouldReturnEmptyList_When_NoInputSidePacketExists()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.IsEmpty(config.InputSidePacketInfos());
- }
- }
-
- [Test]
- public void InputSidePacketInfos_ShouldReturnEdgeInfoList_When_InputSidePacketsExist()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_FlowLimiterConfigText)).AssertOk();
- var inputSidePacketInfos = config.InputSidePacketInfos();
-
- Assert.True(inputSidePacketInfos.Count >= 2);
-
- var maxInFlightPacket = inputSidePacketInfos.First((edgeInfo) => edgeInfo.name == "max_in_flight");
- Assert.AreEqual(-1, maxInFlightPacket.upstream);
- Assert.AreEqual(NodeType.Calculator, maxInFlightPacket.parentNode.type);
- Assert.False(maxInFlightPacket.backEdge);
-
- var flowLimiterCalculatorOptionsPacket = inputSidePacketInfos.First((edgeInfo) => edgeInfo.name == "flow_limiter_calculator_options");
- Assert.AreEqual(-1, flowLimiterCalculatorOptionsPacket.upstream);
- Assert.AreEqual(NodeType.Calculator, flowLimiterCalculatorOptionsPacket.parentNode.type);
- Assert.False(flowLimiterCalculatorOptionsPacket.backEdge);
- }
- }
- #endregion
-
- #region OutputSidePacketInfos
- [Test]
- public void OutputSidePacketInfos_ShouldReturnEmptyList_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.IsEmpty(config.OutputSidePacketInfos());
- }
- }
-
- [Test]
- public void OutputSidePacketInfos_ShouldReturnEmptyList_When_NoOutputSidePacketExists()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.IsEmpty(config.OutputSidePacketInfos());
- }
- }
-
- [Test]
- public void OutputSidePacketInfos_ShouldReturnEdgeInfoList_When_OutputSidePacketsExist()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ConstantSidePacketConfigText)).AssertOk();
- var outputSidePacketInfos = config.OutputSidePacketInfos();
-
- Assert.AreEqual(4, outputSidePacketInfos.Count);
-
- var intPacket = outputSidePacketInfos.First((edgeInfo) => edgeInfo.name == "int_packet");
- Assert.AreEqual(-1, intPacket.upstream);
- Assert.AreEqual(NodeType.Calculator, intPacket.parentNode.type);
- Assert.False(intPacket.backEdge);
-
- var floatPacket = outputSidePacketInfos.First((edgeInfo) => edgeInfo.name == "float_packet");
- Assert.AreEqual(-1, floatPacket.upstream);
- Assert.AreEqual(NodeType.Calculator, floatPacket.parentNode.type);
- Assert.False(floatPacket.backEdge);
-
- var boolPacket = outputSidePacketInfos.First((edgeInfo) => edgeInfo.name == "bool_packet");
- Assert.AreEqual(-1, boolPacket.upstream);
- Assert.AreEqual(NodeType.Calculator, boolPacket.parentNode.type);
- Assert.False(boolPacket.backEdge);
-
- var stringPacket = outputSidePacketInfos.First((edgeInfo) => edgeInfo.name == "string_packet");
- Assert.AreEqual(-1, stringPacket.upstream);
- Assert.AreEqual(NodeType.Calculator, stringPacket.parentNode.type);
- Assert.False(stringPacket.backEdge);
- }
- }
- #endregion
-
- #region OutputStreamIndex
- [Test]
- public void OutputStreamIndex_ShouldReturnNegativeValue_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.AreEqual(-1, config.OutputStreamIndex(""));
- }
- }
-
- [Test]
- public void OutputStreamIndex_ShouldReturnNegativeValue_When_TheNameIsInvalid()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.AreEqual(-1, config.OutputStreamIndex("unknown"));
- }
- }
-
- [Test]
- public void OutputStreamIndex_ShouldReturnIndex_When_TheNameIsValid()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.AreEqual(2, config.OutputStreamIndex("out"));
- }
- }
-
- [Test]
- public void OutputStreamIndex_ShouldReturnIndex_When_TheStreamIsNotPublic()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.AreEqual(1, config.OutputStreamIndex("out1"));
- }
- }
- #endregion
-
- #region OutputSidePacketIndex
- [Test]
- public void OutputSidePacketIndex_ShouldReturnNegativeValue_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.AreEqual(-1, config.OutputSidePacketIndex(""));
- }
- }
-
- [Test]
- public void OutputSidePacketIndex_ShouldReturnNegativeValue_When_TheNameIsInvalid()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ConstantSidePacketConfigText)).AssertOk();
- Assert.AreEqual(-1, config.OutputSidePacketIndex("unknown"));
- }
- }
-
- [Test]
- public void OutputSidePacketIndex_ShouldReturnIndex_When_TheNameIsValid()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ConstantSidePacketConfigText)).AssertOk();
- Assert.AreEqual(0, config.OutputSidePacketIndex("int_packet"));
- }
- }
- #endregion
-
-
- #region OutputStreamToNode
- [Test]
- public void OutputStreamToNode_ShouldReturnNegativeValue_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.AreEqual(-1, config.OutputStreamToNode(""));
- }
- }
-
- [Test]
- public void OutputStreamToNode_ShouldReturnNegativeValue_When_TheNameIsInvalid()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.AreEqual(-1, config.OutputStreamToNode("unknown"));
- }
- }
-
- [Test]
- public void OutputStreamToNode_ShouldReturnIndex_When_TheNameIsValid()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.AreEqual(0, config.OutputStreamToNode("out1"));
- }
- }
- #endregion
-
- #region RegisteredSidePacketTypeName
- [Test]
- public void RegisteredSidePacketTypeName_ShouldReturnInvalidArgumentError_When_TheSidePacketDoesNotExist()
- {
- using (var config = new ValidatedGraphConfig())
- {
- using (var statusOrString = config.RegisteredSidePacketTypeName("max_in_flight"))
- {
- Assert.AreEqual(Status.StatusCode.InvalidArgument, statusOrString.status.Code());
- }
- }
- }
-
- [Test]
- public void RegisteredSidePacketTypeName_ShouldReturnUnknownError_When_TheSidePacketTypeCannotBeDetermined()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_FlowLimiterConfigText)).AssertOk();
- using (var statusOrString = config.RegisteredSidePacketTypeName("max_in_flight"))
- {
- Assert.AreEqual(Status.StatusCode.Unknown, statusOrString.status.Code());
- }
- }
- }
- #endregion
-
- #region RegisteredStreamTypeName
- [Test]
- public void RegisteredStreamTypeName_ShouldReturnInvalidArgumentError_When_TheStreamDoesNotExist()
- {
- using (var config = new ValidatedGraphConfig())
- {
- using (var statusOrString = config.RegisteredStreamTypeName("in"))
- {
- Assert.AreEqual(Status.StatusCode.InvalidArgument, statusOrString.status.Code());
- }
- }
- }
-
- [Test]
- public void RegisteredStreamTypeName_ShouldReturnUnknownError_When_TheStreamTypeCannotBeDetermined()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- using (var statusOrString = config.RegisteredStreamTypeName("in"))
- {
- Assert.AreEqual(Status.StatusCode.Unknown, statusOrString.status.Code());
- }
- }
- }
- #endregion
-
- #region Package
- [Test]
- public void Package_ShouldReturnNull_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.IsNull(config.Package());
- }
- }
-
- [Test]
- public void Package_ShouldReturnNull_When_TheNamespaceIsNotSet()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_PassThroughConfigText)).AssertOk();
- Assert.IsNull(config.Package());
- }
- }
- #endregion
-
- #region IsReservedExecutorName
- [Test]
- public void IsReservedExecutorName_ShouldReturnFalse_When_TheNameIsNotReserved()
- {
- Assert.False(ValidatedGraphConfig.IsReservedExecutorName("unknown"));
- }
-
- [Test]
- public void IsReservedExecutorName_ShouldReturnFalse_When_TheNameIsReserved()
- {
- Assert.True(ValidatedGraphConfig.IsReservedExecutorName("default"));
- Assert.True(ValidatedGraphConfig.IsReservedExecutorName("gpu"));
- Assert.True(ValidatedGraphConfig.IsReservedExecutorName("__gpu"));
- }
- #endregion
-
- #region IsExternalSidePacket
- [Test]
- public void IsExternalSidePacket_ShouldReturnFalse_When_NotInitialized()
- {
- using (var config = new ValidatedGraphConfig())
- {
- Assert.False(config.IsExternalSidePacket("max_in_flight"));
- }
- }
-
-
- [Test]
- public void IsExternalSidePacket_ShouldReturnFalse_When_TheSidePacketIsInternal()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_ConstantSidePacketConfigText)).AssertOk();
- Assert.False(config.IsExternalSidePacket("int_packet"));
- }
- }
-
- [Test]
- public void IsExternalSidePacket_ShouldReturnTrue_When_TheSidePacketIsExternal()
- {
- using (var config = new ValidatedGraphConfig())
- {
- config.Initialize(CalculatorGraphConfig.Parser.ParseFromTextFormat(_FlowLimiterConfigText)).AssertOk();
- Assert.True(config.IsExternalSidePacket("max_in_flight"));
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/ValidatedGraphConfigTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/ValidatedGraphConfigTest.cs.meta
deleted file mode 100644
index 68882fc..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Framework/ValidatedGraphConfigTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 593d3340196fca643b5346fb3cd60f7e
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu.meta
deleted file mode 100644
index 9e1596f..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 34ad49218cadf094e8bc99057c757771
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlCalculatorHelperTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlCalculatorHelperTest.cs
deleted file mode 100644
index 5d3b7dc..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlCalculatorHelperTest.cs
+++ /dev/null
@@ -1,192 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class GlCalculatorHelperTest
- {
- #region Constructor
- [Test, GpuOnly]
- public void Ctor_ShouldInstantiateGlCalculatorHelper()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- Assert.AreNotEqual(IntPtr.Zero, glCalculatorHelper.mpPtr);
- }
- }
- #endregion
-
- #region #isDisposed
- [Test, GpuOnly]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- Assert.False(glCalculatorHelper.isDisposed);
- }
- }
-
- [Test, GpuOnly]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var glCalculatorHelper = new GlCalculatorHelper();
- glCalculatorHelper.Dispose();
-
- Assert.True(glCalculatorHelper.isDisposed);
- }
- #endregion
-
- #region #InitializeForTest
- [Test, GpuOnly]
- public void InitializeForTest_ShouldInitialize()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- Assert.False(glCalculatorHelper.Initialized());
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
- Assert.True(glCalculatorHelper.Initialized());
- }
- }
- #endregion
-
- #region #RunInGlContext
- [Test, GpuOnly]
- public void RunInGlContext_ShouldReturnOk_When_FunctionReturnsOk()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- var status = glCalculatorHelper.RunInGlContext(() => { });
- Assert.True(status.Ok());
- }
- }
-
- [Test, GpuOnly]
- public void RunInGlContext_ShouldReturnInternal_When_FunctionThrows()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- var status = glCalculatorHelper.RunInGlContext((GlCalculatorHelper.GlFunction)(() => { throw new Exception("Function Throws"); }));
- Assert.AreEqual(Status.StatusCode.Internal, status.Code());
- }
- }
- #endregion
-
- #region #CreateSourceTexture
- [Test, GpuOnly]
- public void CreateSourceTexture_ShouldReturnGlTexture_When_CalledWithImageFrame()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Srgba, 32, 24))
- {
- var status = glCalculatorHelper.RunInGlContext(() =>
- {
- var texture = glCalculatorHelper.CreateSourceTexture(imageFrame);
-
- Assert.AreEqual(32, texture.width);
- Assert.AreEqual(24, texture.height);
-
- texture.Dispose();
- });
- Assert.True(status.Ok());
-
- status.Dispose();
- }
- }
- }
-
- [Test, GpuOnly]
- [Ignore("Skip because a thread will hang")]
- public void CreateSourceTexture_ShouldFail_When_ImageFrameFormatIsInvalid()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Sbgra, 32, 24))
- {
- var status = glCalculatorHelper.RunInGlContext(() =>
- {
- using (var texture = glCalculatorHelper.CreateSourceTexture(imageFrame))
- {
- texture.Release();
- }
- });
- Assert.AreEqual(Status.StatusCode.FailedPrecondition, status.Code());
-
- status.Dispose();
- }
- }
- }
- #endregion
-
- #region #CreateDestinationTexture
- [Test, GpuOnly]
- public void CreateDestinationTexture_ShouldReturnGlTexture_When_GpuBufferFormatIsValid()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- var status = glCalculatorHelper.RunInGlContext(() =>
- {
- var glTexture = glCalculatorHelper.CreateDestinationTexture(32, 24, GpuBufferFormat.kBGRA32);
-
- Assert.AreEqual(32, glTexture.width);
- Assert.AreEqual(24, glTexture.height);
- });
-
- Assert.True(status.Ok());
- }
- }
- #endregion
-
- #region #framebuffer
- [Test, GpuOnly]
- public void Framebuffer_ShouldReturnGLName()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- // default frame buffer
- Assert.AreEqual(0, glCalculatorHelper.framebuffer);
- }
- }
- #endregion
-
- #region #GetGlContext
- [Test, GpuOnly]
- public void GetGlContext_ShouldReturnCurrentContext()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- using (var glContext = glCalculatorHelper.GetGlContext())
- {
-#if UNITY_EDITOR_LINUX || UNITY_STANDALONE_LINUX || UNITY_ANDROID
- Assert.AreNotEqual(IntPtr.Zero, glContext.eglContext);
-#elif UNITY_STANDALONE_OSX
- Assert.AreNotEqual(IntPtr.Zero, glContext.nsglContext);
-#elif UNITY_IOS
- Assert.AreNotEqual(IntPtr.Zero, glContext.eaglContext);
-#endif
- }
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlCalculatorHelperTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlCalculatorHelperTest.cs.meta
deleted file mode 100644
index bf45527..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlCalculatorHelperTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 7f47dcca1b6cbd6538c87a9914863444
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlContextTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlContextTest.cs
deleted file mode 100644
index bdc44d6..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlContextTest.cs
+++ /dev/null
@@ -1,83 +0,0 @@
-// 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;
-using System;
-
-namespace Mediapipe.Tests
-{
- public class GlContextTest
- {
- #region .GetCurrent
- [Test, GpuOnly]
- public void GetCurrent_ShouldReturnNull_When_CalledOutOfGlContext()
- {
- var glContext = GlContext.GetCurrent();
-
- Assert.Null(glContext);
- }
-
- [Test, GpuOnly]
- public void GetCurrent_ShouldReturnCurrentContext_When_CalledInGlContext()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- glCalculatorHelper.RunInGlContext(() =>
- {
- using (var glContext = GlContext.GetCurrent())
- {
- Assert.NotNull(glContext);
- Assert.True(glContext.IsCurrent());
- }
- }).AssertOk();
- }
- }
- #endregion
-
- #region #IsCurrent
- public void IsCurrent_ShouldReturnFalse_When_CalledOutOfGlContext()
- {
- var glContext = GetGlContext();
-
- Assert.False(glContext.IsCurrent());
- }
- #endregion
-
- #region properties
- [Test, GpuOnly]
- public void ShouldReturnProperties()
- {
- using (var glContext = GetGlContext())
- {
-#if UNITY_EDITOR_LINUX || UNITY_STANDALONE_LINUX || UNITY_ANDROID
- Assert.AreNotEqual(IntPtr.Zero, glContext.eglDisplay);
- Assert.AreNotEqual(IntPtr.Zero, glContext.eglConfig);
- Assert.AreNotEqual(IntPtr.Zero, glContext.eglContext);
- Assert.AreEqual(3, glContext.glMajorVersion);
- Assert.AreEqual(2, glContext.glMinorVersion);
- Assert.AreEqual(0, glContext.glFinishCount);
-#elif UNITY_STANDALONE_OSX
- Assert.AreNotEqual(IntPtr.Zero, glContext.nsglContext);
-#elif UNITY_IOS
- Assert.AreNotEqual(IntPtr.Zero, glContext.eaglContext);
-#endif
- }
- }
- #endregion
-
- private GlContext GetGlContext()
- {
- using (var glCalculatorHelper = new GlCalculatorHelper())
- {
- glCalculatorHelper.InitializeForTest(GpuResources.Create().Value());
-
- return glCalculatorHelper.GetGlContext();
- }
- }
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlContextTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlContextTest.cs.meta
deleted file mode 100644
index 0eb97b3..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlContextTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d5e3ffbb666f2d185b043064194cbf12
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlTextureTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlTextureTest.cs
deleted file mode 100644
index e24b137..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlTextureTest.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-// 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 GlTextureTest
- {
- #region Constructor
- [Test, GpuOnly]
- public void Ctor_ShouldInstantiateGlTexture_When_CalledWithNoArguments()
- {
- using (var glTexture = new GlTexture())
- {
- Assert.AreEqual(0, glTexture.width);
- Assert.AreEqual(0, glTexture.height);
- }
- }
- #endregion
-
- #region #isDisposed
- [Test, GpuOnly]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var glTexture = new GlTexture())
- {
- Assert.False(glTexture.isDisposed);
- }
- }
-
- [Test, GpuOnly]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var glTexture = new GlTexture();
- glTexture.Dispose();
-
- Assert.True(glTexture.isDisposed);
- }
- #endregion
-
- #region target
- [Test, GpuOnly]
- public void Target_ShouldReturnTarget()
- {
- using (var glTexture = new GlTexture())
- {
- Assert.AreEqual(Gl.GL_TEXTURE_2D, glTexture.target);
- }
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlTextureTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlTextureTest.cs.meta
deleted file mode 100644
index 607ac50..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GlTextureTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: fbe1d82329bb2b09a88651d8ac9ad4fd
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GpuResourcesTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GpuResourcesTest.cs
deleted file mode 100644
index 6c2281b..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GpuResourcesTest.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-// 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 GpuResourcesTest
- {
- #region Create
- [Test, GpuOnly]
- public void Create_ShouldReturnStatusOrGpuResources()
- {
- using (var statusOrGpuResources = GpuResources.Create())
- {
- Assert.True(statusOrGpuResources.Ok());
- }
- }
- #endregion
-
- #region #isDisposed
- [Test, GpuOnly]
- public void IsDisposed_ShouldReturnFalse_When_NotDisposedYet()
- {
- using (var gpuResources = GpuResources.Create().Value())
- {
- Assert.False(gpuResources.isDisposed);
- }
- }
-
- [Test, GpuOnly]
- public void IsDisposed_ShouldReturnTrue_When_AlreadyDisposed()
- {
- var gpuResources = GpuResources.Create().Value();
- gpuResources.Dispose();
-
- Assert.True(gpuResources.isDisposed);
- }
- #endregion
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GpuResourcesTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GpuResourcesTest.cs.meta
deleted file mode 100644
index 42a6a65..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Gpu/GpuResourcesTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 7e987f90210347a37b48e4a9f9f93c53
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Unity/Extension/ImageFrameExtensionTest.cs b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Unity/Extension/ImageFrameExtensionTest.cs
deleted file mode 100644
index 8354432..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Unity/Extension/ImageFrameExtensionTest.cs
+++ /dev/null
@@ -1,1308 +0,0 @@
-// 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;
-using Unity.Collections;
-using UnityEngine;
-
-using System.Linq;
-
-namespace Mediapipe.Unity.Tests
-{
- public class ImageFrameExtensionTest
- {
- #region TryReadChannel(byte)
- [Test]
- public void TryReadChannelByte_ShouldReturnFalse_When_ChannelNumberIsNegative()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(-1, new byte[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReturnFalse_When_TheChannelDataIsNotStoredInBytes()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new byte[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReturnFalse_When_ChannelNumberEqualsTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(3, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(4, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(4, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(1, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(3, new byte[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReturnTrue_When_ChannelNumberIsLessThanTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(2, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(3, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(3, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(0, new byte[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(2, new byte[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSrgb()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 3 = 7
- 1, 2, 3, 33, 34, 35, 65, 66, 67, 0, 0, 0, 0, 0, 0, 0,
- 9, 10, 11, 41, 42, 43, 73, 74, 75, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new byte[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new byte[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new byte[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new byte[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new byte[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new byte[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new byte[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new byte[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new byte[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, false));
- Assert.AreEqual(new byte[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, true));
- Assert.AreEqual(new byte[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, false));
- Assert.AreEqual(new byte[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, true));
- Assert.AreEqual(new byte[] { 67, 35, 3, 75, 43, 11 }, result);
-
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSrgba()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 4 = 4
- 1, 2, 3, 4, 33, 34, 35, 36, 65, 66, 67, 68, 0, 0, 0, 0,
- 9, 10, 11, 12, 41, 42, 43, 44, 73, 74, 75, 76, 0, 0, 0, 0,
- };
- var result = new byte[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new byte[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new byte[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new byte[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new byte[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new byte[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new byte[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new byte[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new byte[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, false));
- Assert.AreEqual(new byte[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, true));
- Assert.AreEqual(new byte[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, false));
- Assert.AreEqual(new byte[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, true));
- Assert.AreEqual(new byte[] { 67, 35, 3, 75, 43, 11 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, false, false));
- Assert.AreEqual(new byte[] { 12, 44, 76, 4, 36, 68 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, false, true));
- Assert.AreEqual(new byte[] { 4, 36, 68, 12, 44, 76 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, true, false));
- Assert.AreEqual(new byte[] { 76, 44, 12, 68, 36, 4 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, true, true));
- Assert.AreEqual(new byte[] { 68, 36, 4, 76, 44, 12 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSbgra()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 4 * 3 = 4
- 1, 2, 3, 4, 33, 34, 35, 36, 65, 66, 67, 68, 0, 0, 0, 0,
- 9, 10, 11, 12, 41, 42, 43, 44, 73, 74, 75, 76, 0, 0, 0, 0,
- };
- var result = new byte[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new byte[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new byte[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new byte[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new byte[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new byte[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new byte[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new byte[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new byte[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, false));
- Assert.AreEqual(new byte[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, true));
- Assert.AreEqual(new byte[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, false));
- Assert.AreEqual(new byte[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, true));
- Assert.AreEqual(new byte[] { 67, 35, 3, 75, 43, 11 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, false, false));
- Assert.AreEqual(new byte[] { 12, 44, 76, 4, 36, 68 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, false, true));
- Assert.AreEqual(new byte[] { 4, 36, 68, 12, 44, 76 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, true, false));
- Assert.AreEqual(new byte[] { 76, 44, 12, 68, 36, 4 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, true, true));
- Assert.AreEqual(new byte[] { 68, 36, 4, 76, 44, 12 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReadTheSpecifiedChannelData_When_TheFormatIsGray8()
- {
- var bytes = new byte[] {
- // padding is 16 - 3 * 1 = 13
- 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new byte[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new byte[] { 4, 5, 6, 1, 2, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new byte[] { 1, 2, 3, 4, 5, 6 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new byte[] { 6, 5, 4, 3, 2, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new byte[] { 3, 2, 1, 6, 5, 4 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelByte_ShouldReadTheSpecifiedChannelData_When_TheFormatIsLab8()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 3 = 7
- 1, 2, 3, 33, 34, 35, 65, 66, 67, 0, 0, 0, 0, 0, 0, 0,
- 9, 10, 11, 41, 42, 43, 73, 74, 75, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new byte[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new byte[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new byte[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new byte[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new byte[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new byte[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new byte[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new byte[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new byte[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, false));
- Assert.AreEqual(new byte[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, true));
- Assert.AreEqual(new byte[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, false));
- Assert.AreEqual(new byte[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, true));
- Assert.AreEqual(new byte[] { 67, 35, 3, 75, 43, 11 }, result);
- }
- }
- #endregion
-
- #region TryReadChannel(ushort)
- [Test]
- public void TryReadChannelUshort_ShouldReturnFalse_When_ChannelNumberIsNegative()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(-1, new ushort[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelUshort_ShouldReturnFalse_When_TheChannelDataIsNotStoredInUshorts()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelUshort_ShouldReturnFalse_When_ChannelNumberEqualsTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(3, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(4, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(1, new ushort[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelUshort_ShouldReturnTrue_When_ChannelNumberIsLessThanTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(2, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(3, new ushort[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(0, new ushort[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelUshort_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSrgb48()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 24 - 2 * 3 * 3 = 6
- 1, 0, 2, 0, 3, 0, 33, 0, 34, 0, 35, 0, 65, 0, 66, 0, 67, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 10, 0, 11, 0, 41, 0, 42, 0, 43, 0, 73, 0, 74, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new ushort[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 3, 2, 24, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new ushort[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new ushort[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new ushort[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new ushort[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new ushort[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new ushort[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new ushort[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new ushort[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, false));
- Assert.AreEqual(new ushort[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, true));
- Assert.AreEqual(new ushort[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, false));
- Assert.AreEqual(new ushort[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, true));
- Assert.AreEqual(new ushort[] { 67, 35, 3, 75, 43, 11 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelUshort_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSrgba64()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 24 - 2 * 3 * 4 = 0
- 1, 0, 2, 0, 3, 0, 4, 0, 33, 0, 34, 0, 35, 0, 36, 0, 65, 0, 66, 0, 67, 0, 68, 0,
- 9, 0, 10, 0, 11, 0, 12, 0, 41, 0, 42, 0, 43, 0, 44, 0, 73, 0, 74, 0, 75, 0, 76, 0,
- };
- var result = new ushort[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 3, 2, 24, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new ushort[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new ushort[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new ushort[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new ushort[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new ushort[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new ushort[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new ushort[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new ushort[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, false));
- Assert.AreEqual(new ushort[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, false, true));
- Assert.AreEqual(new ushort[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, false));
- Assert.AreEqual(new ushort[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(2, result, true, true));
- Assert.AreEqual(new ushort[] { 67, 35, 3, 75, 43, 11 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, false, false));
- Assert.AreEqual(new ushort[] { 12, 44, 76, 4, 36, 68 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, false, true));
- Assert.AreEqual(new ushort[] { 4, 36, 68, 12, 44, 76 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, true, false));
- Assert.AreEqual(new ushort[] { 76, 44, 12, 68, 36, 4 }, result);
-
- Assert.True(imageFrame.TryReadChannel(3, result, true, true));
- Assert.AreEqual(new ushort[] { 68, 36, 4, 76, 44, 12 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelUshort_ShouldReadTheSpecifiedChannelData_When_TheFormatIsGray16()
- {
- var bytes = new byte[] {
- // padding is 16 - 2 * 3 = 10
- 1, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new ushort[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new ushort[] { 4, 5, 6, 1, 2, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new ushort[] { 1, 2, 3, 4, 5, 6 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new ushort[] { 6, 5, 4, 3, 2, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new ushort[] { 3, 2, 1, 6, 5, 4 }, result);
- }
- }
- #endregion
-
- #region TryReadChannel(float)
- [Test]
- public void TryReadChannelFloat_ShouldReturnFalse_When_ChannelNumberIsNegative()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(-1, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelFloat_ShouldReturnFalse_When_TheChannelDataIsNotStoredInFloats()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(3, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(4, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(0, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelFloat_ShouldReturnFalse_When_ChannelNumberEqualsTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(1, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannel(2, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelFloat_ShouldReturnTrue_When_ChannelNumberIsLessThanTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannel(1, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelFloat_ShouldReadTheSpecifiedChannelData_When_TheFormatIsVec32F1()
- {
- var floats = new float[] {
- // padding is 16 - 3 * 4 = 4
- 1.0f / 255, 2.0f / 255, 3.0f / 255, 0,
- 4.0f / 255, 5.0f / 255, 6.0f / 255, 0,
- };
- var bytes = FloatsToBytes(floats);
- var result = new float[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new float[] { 4.0f / 255, 5.0f / 255, 6.0f / 255, 1.0f / 255, 2.0f / 255, 3.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new float[] { 1.0f / 255, 2.0f / 255, 3.0f / 255, 4.0f / 255, 5.0f / 255, 6.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new float[] { 6.0f / 255, 5.0f / 255, 4.0f / 255, 3.0f / 255, 2.0f / 255, 1.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new float[] { 3.0f / 255, 2.0f / 255, 1.0f / 255, 6.0f / 255, 5.0f / 255, 4.0f / 255 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelFloat_ShouldReadTheSpecifiedChannelData_When_TheFormatIsVec32F2()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var floats = new float[] {
- // padding is 32 - 2 * 3 * 4 = 8
- 1.0f / 255, 2.0f / 255, 33.0f / 255, 34.0f / 255, 65.0f / 255, 66.0f / 255, 0, 0,
- 9.0f / 255, 10.0f / 255, 41.0f / 255, 42.0f / 255, 73.0f / 255, 74.0f / 255, 0, 0,
- };
- var bytes = FloatsToBytes(floats);
- var result = new float[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 3, 2, 32, bytes))
- {
- Assert.True(imageFrame.TryReadChannel(0, result, false, false));
- Assert.AreEqual(new float[] { 9.0f / 255, 41.0f / 255, 73.0f / 255, 1.0f / 255, 33.0f / 255, 65.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, false, true));
- Assert.AreEqual(new float[] { 1.0f / 255, 33.0f / 255, 65.0f / 255, 9.0f / 255, 41.0f / 255, 73.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, false));
- Assert.AreEqual(new float[] { 73.0f / 255, 41.0f / 255, 9.0f / 255, 65.0f / 255, 33.0f / 255, 1.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(0, result, true, true));
- Assert.AreEqual(new float[] { 65.0f / 255, 33.0f / 255, 1.0f / 255, 73.0f / 255, 41.0f / 255, 9.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, false));
- Assert.AreEqual(new float[] { 10.0f / 255, 42.0f / 255, 74.0f / 255, 2.0f / 255, 34.0f / 255, 66.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, false, true));
- Assert.AreEqual(new float[] { 2.0f / 255, 34.0f / 255, 66.0f / 255, 10.0f / 255, 42.0f / 255, 74.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, false));
- Assert.AreEqual(new float[] { 74.0f / 255, 42.0f / 255, 10.0f / 255, 66.0f / 255, 34.0f / 255, 2.0f / 255 }, result);
-
- Assert.True(imageFrame.TryReadChannel(1, result, true, true));
- Assert.AreEqual(new float[] { 66.0f / 255, 34.0f / 255, 2.0f / 255, 74.0f / 255, 42.0f / 255, 10.0f / 255 }, result);
- }
- }
- #endregion
-
- #region TryReadChannelNormalized
- [Test]
- public void TryReadChannelNormalized_ShouldReturnFalse_When_ChannelNumberIsNegative()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(-1, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelNormalized_ShouldReturnFalse_When_ChannelNumberEqualsTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(3, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(4, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(4, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(3, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(4, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(1, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(1, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(1, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(2, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadChannelNormalized(3, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelNormalized_ShouldReturnTrue_When_ChannelNumberIsLessThanTheNumberOfChannels()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(2, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(3, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(3, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(2, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(3, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F2, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(1, new float[] { }));
- }
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 0, 0, 0, new byte[] { }))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(2, new float[] { }));
- }
- }
-
- [Test]
- public void TryReadChannelNormalized_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSrgba()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 4 = 4
- 1, 2, 3, 4, 33, 34, 35, 36, 65, 66, 67, 68, 0, 0, 0, 0,
- 9, 10, 11, 12, 41, 42, 43, 44, 73, 74, 75, 76, 0, 0, 0, 0,
- };
- var result = new float[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, false));
- AssertNormalized(new byte[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, true));
- AssertNormalized(new byte[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, false));
- AssertNormalized(new byte[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, true));
- AssertNormalized(new byte[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, false, false));
- AssertNormalized(new byte[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, false, true));
- AssertNormalized(new byte[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, true, false));
- AssertNormalized(new byte[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, true, true));
- AssertNormalized(new byte[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, false, false));
- AssertNormalized(new byte[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, false, true));
- AssertNormalized(new byte[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, true, false));
- AssertNormalized(new byte[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, true, true));
- AssertNormalized(new byte[] { 67, 35, 3, 75, 43, 11 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, false, false));
- AssertNormalized(new byte[] { 12, 44, 76, 4, 36, 68 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, false, true));
- AssertNormalized(new byte[] { 4, 36, 68, 12, 44, 76 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, true, false));
- AssertNormalized(new byte[] { 76, 44, 12, 68, 36, 4 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, true, true));
- AssertNormalized(new byte[] { 68, 36, 4, 76, 44, 12 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelNormalized_ShouldReadTheSpecifiedChannelData_When_TheFormatIsGray8()
- {
- var bytes = new byte[] {
- // padding is 16 - 3 * 1 = 13
- 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new float[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, false));
- AssertNormalized(new byte[] { 4, 5, 6, 1, 2, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, true));
- AssertNormalized(new byte[] { 1, 2, 3, 4, 5, 6 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, false));
- AssertNormalized(new byte[] { 6, 5, 4, 3, 2, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, true));
- AssertNormalized(new byte[] { 3, 2, 1, 6, 5, 4 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelNormalized_ShouldReadTheSpecifiedChannelData_When_TheFormatIsSrgba64()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 24 - 2 * 3 * 4 = 0
- 1, 0, 2, 0, 3, 0, 4, 0, 33, 0, 34, 0, 35, 0, 36, 0, 65, 0, 66, 0, 67, 0, 68, 0,
- 9, 0, 10, 0, 11, 0, 12, 0, 41, 0, 42, 0, 43, 0, 44, 0, 73, 0, 74, 0, 75, 0, 76, 0,
- };
- var result = new float[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 3, 2, 24, bytes))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, false));
- AssertNormalized(new ushort[] { 9, 41, 73, 1, 33, 65 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, true));
- AssertNormalized(new ushort[] { 1, 33, 65, 9, 41, 73 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, false));
- AssertNormalized(new ushort[] { 73, 41, 9, 65, 33, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, true));
- AssertNormalized(new ushort[] { 65, 33, 1, 73, 41, 9 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, false, false));
- AssertNormalized(new ushort[] { 10, 42, 74, 2, 34, 66 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, false, true));
- AssertNormalized(new ushort[] { 2, 34, 66, 10, 42, 74 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, true, false));
- AssertNormalized(new ushort[] { 74, 42, 10, 66, 34, 2 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(1, result, true, true));
- AssertNormalized(new ushort[] { 66, 34, 2, 74, 42, 10 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, false, false));
- AssertNormalized(new ushort[] { 11, 43, 75, 3, 35, 67 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, false, true));
- AssertNormalized(new ushort[] { 3, 35, 67, 11, 43, 75 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, true, false));
- AssertNormalized(new ushort[] { 75, 43, 11, 67, 35, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(2, result, true, true));
- AssertNormalized(new ushort[] { 67, 35, 3, 75, 43, 11 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, false, false));
- AssertNormalized(new ushort[] { 12, 44, 76, 4, 36, 68 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, false, true));
- AssertNormalized(new ushort[] { 4, 36, 68, 12, 44, 76 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, true, false));
- AssertNormalized(new ushort[] { 76, 44, 12, 68, 36, 4 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(3, result, true, true));
- AssertNormalized(new ushort[] { 68, 36, 4, 76, 44, 12 }, result);
- }
- }
-
- [Test]
- public void TryReadChannelNormalized_ShouldReadTheSpecifiedChannelData_When_TheFormatIsGray16()
- {
- var bytes = new byte[] {
- // padding is 16 - 2 * 3 = 10
- 1, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- var result = new float[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, false));
- AssertNormalized(new ushort[] { 4, 5, 6, 1, 2, 3 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, false, true));
- AssertNormalized(new ushort[] { 1, 2, 3, 4, 5, 6 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, false));
- AssertNormalized(new ushort[] { 6, 5, 4, 3, 2, 1 }, result);
-
- Assert.True(imageFrame.TryReadChannelNormalized(0, result, true, true));
- AssertNormalized(new ushort[] { 3, 2, 1, 6, 5, 4 }, result);
- }
- }
- #endregion
-
- #region TryReadPixelData
- [Test]
- public void TryReadPixelData_ShouldReturnFalse_When_TheFormatIsInvalid()
- {
- using (var imageFrame = new ImageFrame())
- {
- Assert.False(imageFrame.TryReadPixelData(new Color32[] { }));
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnFalse_When_ColorsLengthIsWrong()
- {
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 0, 0, 0, new byte[] { }))
- {
- Assert.False(imageFrame.TryReadPixelData(new Color32[1] { new Color32() }));
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsSrgb()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 3 = 7
- 1, 2, 3, 33, 34, 35, 65, 66, 67, 0, 0, 0, 0, 0, 0, 0,
- 9, 10, 11, 41, 42, 43, 73, 74, 75, 0, 0, 0, 0, 0, 0, 0,
- };
- var expected = new Color32[] {
- new Color32(9, 10, 11, 255), new Color32(41, 42, 43, 255), new Color32(73, 74, 75, 255),
- new Color32(1, 2, 3, 255), new Color32(33, 34, 35, 255), new Color32(65, 66, 67, 255),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsSrgba()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 4 = 4
- 1, 2, 3, 4, 33, 34, 35, 36, 65, 66, 67, 68, 0, 0, 0, 0,
- 9, 10, 11, 12, 41, 42, 43, 44, 73, 74, 75, 76, 0, 0, 0, 0,
- };
- var expected = new Color32[] {
- new Color32(9, 10, 11, 12), new Color32(41, 42, 43, 44), new Color32(73, 74, 75, 76),
- new Color32(1, 2, 3, 4), new Color32(33, 34, 35, 36), new Color32(65, 66, 67, 68),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsSbgra()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 16 - 3 * 4 = 4
- 1, 2, 3, 4, 33, 34, 35, 36, 65, 66, 67, 68, 0, 0, 0, 0,
- 9, 10, 11, 12, 41, 42, 43, 44, 73, 74, 75, 76, 0, 0, 0, 0,
- };
- var expected = new Color32[] {
- new Color32(11, 10, 9, 12), new Color32(43, 42, 41, 44), new Color32(75, 74, 73, 76),
- new Color32(3, 2, 1, 4), new Color32(35, 34, 33, 36), new Color32(67, 66, 65, 68),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Sbgra, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsGray8()
- {
- var bytes = new byte[] {
- // padding is 16 - 3 * 1 = 13
- 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- var expected = new Color32[] {
- new Color32(4, 4, 4, 255), new Color32(5, 5, 5, 255), new Color32(6, 6, 6, 255),
- new Color32(1, 1, 1, 255), new Color32(2, 2, 2, 255), new Color32(3, 3, 3, 255),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray8, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsLab8()
- {
- var bytes = new byte[] {
- // padding is 16 - 3 * 1 = 13
- 0, 0, 0, 0, 128, 128, 0, 128, 127, 0, 127, 128, 0, 127, 127, 0,
- 50, 0, 0, 50, 128, 128, 50, 128, 127, 50, 127, 128, 50, 127, 127, 0,
- 100, 0, 0, 100, 128, 128, 100, 128, 127, 100, 127, 128, 100, 127, 127, 0,
- 69, 10, 30, 62, 207, 87, 27, 241, 100, 12, 79, 78, 36, 70, 2, 0, // random
- };
- var expected = new Color32[] {
- new Color32(204, 161, 115, 255), new Color32(93, 169, 0, 255), new Color32(71, 68, 0, 255), new Color32(122, 0, 0, 255), new Color32(178, 0, 84, 255),
- new Color32(255, 255, 255, 255), new Color32(0, 255, 255, 255), new Color32(0, 255, 0, 255), new Color32(255, 139, 255, 255), new Color32(255, 70, 0, 255),
- new Color32(119, 119, 119, 255), new Color32(0, 169, 255, 255), new Color32(0, 152, 0, 255), new Color32(183, 0, 255, 255), new Color32(255, 0, 0, 255),
- new Color32(0, 0, 0, 255), new Color32(0, 64, 194, 255), new Color32(0, 45, 0, 255), new Color32(0, 0, 195, 255), new Color32(132, 0, 0, 255),
- };
- var result = new Color32[20];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Lab8, 5, 4, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsSrgb48()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 24 - 2 * 3 * 3 = 6
- 0, 1, 0, 2, 0, 3, 0, 33, 0, 34, 0, 35, 0, 65, 0, 66, 0, 67, 0, 0, 0, 0, 0, 0,
- 0, 9, 0, 10, 0, 11, 0, 41, 0, 42, 0, 43, 0, 73, 0, 74, 0, 75, 0, 0, 0, 0, 0, 0,
- };
- var expected = new Color32[] {
- new Color32(9, 10, 11, 255), new Color32(41, 42, 43, 255), new Color32(73, 74, 75, 255),
- new Color32(1, 2, 3, 255), new Color32(33, 34, 35, 255), new Color32(65, 66, 67, 255),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgb48, 3, 2, 24, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsSrgba64()
- {
- // (w, h, c) -> w << 5 + h << 3 + (c + 1)
- var bytes = new byte[] {
- // padding is 24 - 2 * 3 * 4 = 0
- 0, 1, 0, 2, 0, 3, 0, 4, 0, 33, 0, 34, 0, 35, 0, 36, 0, 65, 0, 66, 0, 67, 0, 68,
- 0, 9, 0, 10, 0, 11, 0, 12, 0, 41, 0, 42, 0, 43, 0, 44, 0, 73, 0, 74, 0, 75, 0, 76,
- };
- var expected = new Color32[] {
- new Color32(9, 10, 11, 12), new Color32(41, 42, 43, 44), new Color32(73, 74, 75, 76),
- new Color32(1, 2, 3, 4), new Color32(33, 34, 35, 36), new Color32(65, 66, 67, 68),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Srgba64, 3, 2, 24, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsGray16()
- {
- var bytes = new byte[] {
- // padding is 16 - 2 * 3 = 10
- 0, 1, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 4, 0, 5, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- var expected = new Color32[] {
- new Color32(4, 4, 4, 255), new Color32(5, 5, 5, 255), new Color32(6, 6, 6, 255),
- new Color32(1, 1, 1, 255), new Color32(2, 2, 2, 255), new Color32(3, 3, 3, 255),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Gray16, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
-
- [Test]
- public void TryReadPixelData_ShouldReturnTrue_When_TheFormatIsVec32f1()
- {
- var floats = new float[] {
- // padding is 16 - 3 * 4 = 4
- 1.0f / 255, 2.0f / 255, 3.0f / 255, 0,
- 4.0f / 255, 5.0f / 255, 6.0f / 255, 0,
- };
- var bytes = FloatsToBytes(floats);
- var expected = new Color32[] {
- new Color32(4, 4, 4, 255), new Color32(5, 5, 5, 255), new Color32(6, 6, 6, 255),
- new Color32(1, 1, 1, 255), new Color32(2, 2, 2, 255), new Color32(3, 3, 3, 255),
- };
- var result = new Color32[6];
-
- using (var imageFrame = BuildImageFrame(ImageFormat.Types.Format.Vec32F1, 3, 2, 16, bytes))
- {
- Assert.True(imageFrame.TryReadPixelData(result));
- Assert.AreEqual(expected, result);
- }
- }
- #endregion
-
- private ImageFrame BuildImageFrame(ImageFormat.Types.Format format, int width, int height, int widthStep, byte[] pixelData)
- {
- var array = new NativeArray(pixelData.Length, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
- array.CopyFrom(pixelData);
-
- return new ImageFrame(format, width, height, widthStep, array);
- }
-
- private byte[] FloatsToBytes(float[] array)
- {
- var bytes = new byte[array.Length * 4];
-
- unsafe
- {
- fixed (float* pArray = array)
- {
- var pByte = (byte*)pArray;
- for (var i = 0; i < 4 * array.Length; i++)
- {
- bytes[i] = *pByte++;
- }
- }
- }
- return bytes;
- }
-
- private void AssertNormalized(byte[] expectedUnnormalized, float[] result)
- {
- Assert.True(result.All((v) => v >= 0.0f && v <= 1.0f));
- AreAlmostEqual(expectedUnnormalized.Select((v) => (float)v / 255).ToArray(), result, 1e-6);
- }
-
- private void AssertNormalized(ushort[] expectedUnnormalized, float[] result)
- {
- Assert.True(result.All((v) => v >= 0.0f && v <= 1.0f));
- AreAlmostEqual(expectedUnnormalized.Select((v) => (float)v / 65525).ToArray(), result, 1e-6);
- }
-
- private void AreAlmostEqual(float[] expected, float[] actual, double threshold)
- {
- Assert.AreEqual(expected.Length, actual.Length);
- Assert.True(expected.Zip(actual, (x, y) => x - y).All((diff) => Mathf.Abs(diff) < threshold));
- }
- }
-}
diff --git a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Unity/Extension/ImageFrameExtensionTest.cs.meta b/Packages/com.github.homuler.mediapipe/Tests/EditMode/Unity/Extension/ImageFrameExtensionTest.cs.meta
deleted file mode 100644
index b8a26e3..0000000
--- a/Packages/com.github.homuler.mediapipe/Tests/EditMode/Unity/Extension/ImageFrameExtensionTest.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 46cfb5995c4d2b93899f4920ae0b016a
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: