Commit b5ddc19c authored by 16이상민's avatar 16이상민

Add tests for class 'CooridnateMapperManager'

parent 5e177f3a
......@@ -19,13 +19,6 @@ public class CoordinateMapperManager : MonoBehaviour
Texture2D _ColorRGBX;
// In play mode, GUI for Null frame should show when Kinect cannot access.
// In play mode, GUI for FPS always show.
// In play mode, ColorTexture should not be null value.
// In play mode, BodyIndexBuffer should not be null value.
// In play mode, DepthCoordinates should not be null value.
// In play mode, BodyBuffer should not be null value.
public Texture2D ColorTexture
{ get { return _ColorRGBX; } }
public byte[] BodyIndexBuffer
......@@ -47,10 +40,19 @@ public class CoordinateMapperManager : MonoBehaviour
_SourceBuffer = new KinectModule.SourceBuffer();
_KinectAccessManager = new KinectModule.KinectAccessManager();
}
void OnEnable()
{
_KinectAccessManager.Access();
}
void OnGUI ()
void OnDisable()
{
_KinectAccessManager.Dispose();
}
void OnGUI ()
{
GUI.Box (new Rect(10, 10, 200, 30), "FPS: " + fps.ToString("0.00"));
......
......@@ -12,18 +12,23 @@ public class CoordinateMapperView : MonoBehaviour
void Start ()
{
CoordinateMapperManager CoordinateMapperManager = GameObject.Find("Managers").GetComponent<CoordinateMapperManager>();
GetComponent<Renderer>().material.SetTexture("_MainTex", CoordinateMapperManager.ColorTexture);
var CoordinateMapperManager = GameObject.Find("Managers").GetComponent<CoordinateMapperManager>();
CoordinateMapperManager.enabled = true;
var material = GetComponent<Renderer>().material;
material.SetTexture("_MainTex", CoordinateMapperManager.ColorTexture);
DepthBuffer = GenerateBuffer("depthCoordinates", sizeof(float) * 2, (DepthPoints = CoordinateMapperManager.DepthCoordinates));
BodyIndexBuffer = GenerateBuffer("BodyIndexBuffer", sizeof(float), (BodyIndexPoints = CoordinateMapperManager.BodyIndexBuffer));
DepthBuffer = GenerateBuffer("depthCoordinates", sizeof(float) * 2,
(DepthPoints = CoordinateMapperManager.DepthCoordinates), material);
BodyIndexBuffer = GenerateBuffer("BodyIndexBuffer", sizeof(float),
(BodyIndexPoints = CoordinateMapperManager.BodyIndexBuffer), material);
}
ComputeBuffer GenerateBuffer(string name, int stride, Array points)
ComputeBuffer GenerateBuffer(string name, int stride, Array points, Material material)
{
var buffer = new ComputeBuffer(points.Length, stride);
GetComponent<Renderer>().material.SetBuffer(name, buffer);
material.SetBuffer(name, buffer);
return buffer;
}
......@@ -32,7 +37,7 @@ public class CoordinateMapperView : MonoBehaviour
//TODO: fix perf on this call.
DepthBuffer.SetData(DepthPoints);
BodyIndexBuffer.SetData(System.Array.ConvertAll(BodyIndexPoints, System.Convert.ToSingle));
BodyIndexBuffer.SetData(Array.ConvertAll(BodyIndexPoints, Convert.ToSingle));
}
void OnDisable()
......
......@@ -6,25 +6,153 @@ using Windows.Kinect;
using System.Runtime.InteropServices;
using System;
public class CoordinateMapperManagerTests {
[Test]
public void CoordinateMapperManagerTestsSimplePasses() {
// Use the Assert class to test conditions.
}
// TODO: Change IMGUI to uGUI
public class CoordinateMapperManagerTests
{
// A UnityTest behaves like a coroutine in PlayMode
// and allows you to yield null to skip a frame in EditMode
[UnityTest]
public IEnumerator InterfaceTest() {
// Use the Assert class to test conditions.
// yield to skip a frame
yield return null;
public IEnumerator EmptyTest() {
// Use the Assert class to test conditions.
// yield to skip a frame
yield return null;
}
[UnityTest]
public IEnumerator FPSTest()
public IEnumerator NullFrame_GUI_Show_When_Kinect_Disconnected()
{
yield return null;
}
[UnityTest]
public IEnumerator FPS_GUI_Show_When_Kinect_Disconnected()
{
yield return null;
}
[UnityTest]
public IEnumerator FPS_GUI_Show_When_Kinect_Connected()
{
yield return null;
}
[UnityTest]
public IEnumerator ColorTexture_Not_Equal_Null_When_Kinect_Disconnected()
{
var comp = InactiveComponent();
yield return null;
var expected = null as Texture2D;
var actual = comp.ColorTexture;
Assert.AreNotEqual(expected, actual, "ColorTexture should not be null value when kinect disconnected.");
}
[UnityTest]
public IEnumerator ColorTexture_Not_Equal_Null_When_Kinect_Connected()
{
var comp = ActiveComponent();
yield return null;
var expected = null as Texture2D;
var actual = comp.ColorTexture;
Assert.AreNotEqual(expected, actual, "ColorTexture should not be null value when kinect connected.");
}
[UnityTest]
public IEnumerator BodyIndexBuffer_Not_Equal_Null_When_Kinect_Disconnected()
{
var comp = InactiveComponent();
yield return null;
var expected = null as byte[];
var actual = comp.BodyIndexBuffer;
Assert.AreNotEqual(expected, actual, "BodyIndexBuffer should not be null value when kinect disconnected.");
}
[UnityTest]
public IEnumerator BodyIndexBuffer_Not_Equal_Null_When_Kinect_Connected()
{
var comp = ActiveComponent();
yield return null;
var expected = null as byte[];
var actual = comp.BodyIndexBuffer;
Assert.AreNotEqual(expected, actual, "BodyIndexBuffer should not be null value when kinect connected.");
}
[UnityTest]
public IEnumerator DepthCoordinates_Not_Equal_Null_When_Kinect_Disconnected()
{
var comp = InactiveComponent();
yield return null;
var expected = null as DepthSpacePoint[];
var actual = comp.DepthCoordinates;
Assert.AreNotEqual(expected, actual, "DepthCoordinates should not be null value when kinect disconnected.");
}
[UnityTest]
public IEnumerator DepthCoordinates_Not_Equal_Null_When_Kinect_Connected()
{
var comp = ActiveComponent();
yield return null;
var expected = null as DepthSpacePoint[];
var actual = comp.DepthCoordinates;
Assert.AreNotEqual(expected, actual, "DepthCoordinates should not be null value when kinect connected.");
}
[UnityTest]
public IEnumerator BodyBuffer_Not_Null_Equal_When_Kinect_Disconnected()
{
var comp = InactiveComponent();
yield return null;
var expected = null as KinectModule.IBody[];
var actual = comp.BodyBuffer;
Assert.AreNotEqual(expected, actual, "BodyBuffer should not be null value when kinect disconnected.");
}
[UnityTest]
public IEnumerator BodyBuffer_Not_Null_Equal_When_Kinect_Connected()
{
var comp = ActiveComponent();
yield return null;
var expected = null as KinectModule.IBody[];
var actual = comp.BodyBuffer;
Assert.AreNotEqual(expected, actual, "BodyBuffer should not be null value when kinect connected.");
}
CoordinateMapperManager ActiveComponent()
{
var tmpObj = new GameObject();
return tmpObj.AddComponent<CoordinateMapperManager>();
}
CoordinateMapperManager InactiveComponent()
{
var tmpObj = new GameObject();
var comp = tmpObj.GetComponent<CoordinateMapperManager>();
tmpObj.SetActive(false);
return comp;
}
}
......@@ -27,7 +27,7 @@ class CoordinateMapperViewTests
var expected = new Texture();
Graphics.CopyTexture(material.mainTexture, expected);
UnityEngine.Object.Destroy(tmpObj);
Object.Destroy(tmpObj);
var actual = CoordinateMapperView.GetComponent<Renderer>().material.mainTexture;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment