Commit 5e177f3a authored by 16이상민's avatar 16이상민

Refactoring test method

parent 6901aa96
......@@ -44,6 +44,9 @@ public class CoordinateMapperManager : MonoBehaviour
_DepthCoordinates = new DepthSpacePoint[KinectModule.KinectConstants.ColorWidth *
KinectModule.KinectConstants.ColorHeight];
_SourceBuffer = new KinectModule.SourceBuffer();
_KinectAccessManager = new KinectModule.KinectAccessManager();
_KinectAccessManager.Access();
}
......
......@@ -9,8 +9,6 @@ public class CoordinateMapperView : MonoBehaviour
private DepthSpacePoint[] DepthPoints;
private byte[] BodyIndexPoints;
// In play mode, texture of gameobject should be same as texture which made by shader when after update.
void Start ()
{
......
......@@ -2,14 +2,10 @@
using UnityEngine.TestTools;
using NUnit.Framework;
using System.Collections;
using Windows.Kinect;
using System.Runtime.InteropServices;
using System;
class CoordinateMapperViewTests
{
// A UnityTest behaves like a coroutine in PlayMode
// and allows you to yield null to skip a frame in EditMode
// TODO: Reduce warning factors
[UnityTest]
public IEnumerator MainTexture_Equal_Texture_Generate_By_Shader_When_After_Update()
{
......@@ -19,31 +15,36 @@ class CoordinateMapperViewTests
yield return null;
var Managers = GameObject.Find("Managers");
var CoordinateMapperManager = Managers.GetComponent<CoordinateMapperManager>();
var tmpObj = GameObject.CreatePrimitive(PrimitiveType.Plane);
tmpObj.GetComponent<Renderer>().material = Resources.Load("GreenScreen/GreenScreen.mat", typeof(Material)) as Material;
tmpObj.GetComponent<Renderer>().material.SetTexture("_MainTex", CoordinateMapperManager.ColorTexture);
var DepthPoints = CoordinateMapperManager.DepthCoordinates;
var DepthBuffer = new ComputeBuffer(DepthPoints.Length, sizeof(float) * 2);
tmpObj.GetComponent<Renderer>().material.SetBuffer("depthCoordinates", DepthBuffer);
var BodyIndexPoints = CoordinateMapperManager.BodyIndexBuffer;
var BodyIndexBuffer = new ComputeBuffer(BodyIndexPoints.Length, sizeof(float));
tmpObj.GetComponent<Renderer>().material.SetBuffer("bodyIndexBuffer", BodyIndexBuffer);
var material = tmpObj.GetComponent<Renderer>().material;
SetTextureBuffer(material);
var CoordinateMapperView = GameObject.Find("CoordinateMapView");
// Use the Assert class to test conditions.
// yield to skip a frame
yield return null;
var expected = tmpObj.GetComponent<Renderer>().material.mainTexture;
var expected = new Texture();
Graphics.CopyTexture(material.mainTexture, expected);
UnityEngine.Object.Destroy(tmpObj);
var actual = CoordinateMapperView.GetComponent<Renderer>().material.mainTexture;
Assert.AreEqual(expected, actual, "texture of gameobject should be same as texture which made by shader.");
}
void SetTextureBuffer(Material material)
{
var CoordinateMapperManager = GameObject.Find("Managers").GetComponent<CoordinateMapperManager>();
material.SetTexture("_MainTex", CoordinateMapperManager.ColorTexture);
var DepthPoints = CoordinateMapperManager.DepthCoordinates;
var DepthBuffer = new ComputeBuffer(DepthPoints.Length, sizeof(float) * 2);
material.SetBuffer("depthCoordinates", DepthBuffer);
var BodyIndexPoints = CoordinateMapperManager.BodyIndexBuffer;
var BodyIndexBuffer = new ComputeBuffer(BodyIndexPoints.Length, sizeof(float));
material.SetBuffer("bodyIndexBuffer", BodyIndexBuffer);
}
}
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