public void ParentsCloneToParent() { UnityEventValueListenerMock <GameObject> clonedMock = new UnityEventValueListenerMock <GameObject>(); subject.Cloned.AddListener(clonedMock.Listen); GameObject source = new GameObject(); GameObject expected = new GameObject(); subject.Parent = expected; subject.Source = source; GameObject actual = subject.Clone(); Assert.AreEqual(expected, actual.transform.parent.gameObject); clonedMock.Reset(); Object.DestroyImmediate(actual); subject.Source = null; actual = subject.Clone(source); Assert.AreEqual(expected, actual.transform.parent.gameObject); Object.DestroyImmediate(actual); Object.DestroyImmediate(source); Object.DestroyImmediate(expected); }
public void CreatesSourceClone() { UnityEventValueListenerMock <GameObject> clonedMock = new UnityEventValueListenerMock <GameObject>(); subject.Cloned.AddListener(clonedMock.Listen); GameObject expected = new GameObject(); subject.Source = expected; GameObject actual = subject.Clone(); Assert.IsNotNull(actual); Assert.AreNotEqual(expected, actual); Assert.IsTrue(clonedMock.Received); Assert.AreEqual(actual, clonedMock.Value); clonedMock.Reset(); Object.DestroyImmediate(actual); subject.Source = null; actual = subject.Clone(expected); Assert.IsNotNull(actual); Assert.AreNotEqual(expected, actual); Assert.IsTrue(clonedMock.Received); Assert.AreEqual(actual, clonedMock.Value); Object.DestroyImmediate(actual); Object.DestroyImmediate(expected); }
public void DoesNotChangeSource() { UnityEventValueListenerMock <GameObject> clonedMock = new UnityEventValueListenerMock <GameObject>(); subject.Cloned.AddListener(clonedMock.Listen); GameObject gameObject = new GameObject(); subject.Source = gameObject; GameObject actual = subject.Clone(); Assert.AreEqual(gameObject, subject.Source); clonedMock.Reset(); Object.DestroyImmediate(actual); subject.Source = null; actual = subject.Clone(gameObject); Assert.AreEqual(null, subject.Source); Object.DestroyImmediate(actual); Object.DestroyImmediate(gameObject); }
public void DoesNotCloneNullSource() { UnityEventValueListenerMock <GameObject> clonedMock = new UnityEventValueListenerMock <GameObject>(); subject.Cloned.AddListener(clonedMock.Listen); subject.Source = null; GameObject actual = subject.Clone(); Assert.IsNull(actual); Assert.IsFalse(clonedMock.Received); Assert.IsNull(clonedMock.Value); clonedMock.Reset(); actual = subject.Clone(null); Assert.IsNull(actual); Assert.IsFalse(clonedMock.Received); Assert.IsNull(clonedMock.Value); Object.DestroyImmediate(actual); }
public void Extract() { UnityEventValueListenerMock <Vector3> differenceExtractedMock = new UnityEventValueListenerMock <Vector3>(); subject.DifferenceExtracted.AddListener(differenceExtractedMock.Listen); UnityEventValueListenerMock <float> distanceExtractedMock = new UnityEventValueListenerMock <float>(); subject.DistanceExtracted.AddListener(distanceExtractedMock.Listen); ObjectDistanceComparator.EventData eventData = new ObjectDistanceComparator.EventData { CurrentDifference = new Vector3(2f, 5f, 10f), CurrentDistance = 42.123f }; Assert.IsFalse(differenceExtractedMock.Received); Assert.IsFalse(distanceExtractedMock.Received); subject.Extract(eventData); Assert.AreEqual(eventData.CurrentDifference, differenceExtractedMock.Value); Assert.AreEqual(eventData.CurrentDistance, distanceExtractedMock.Value); }
public IEnumerator TimerEmitTimeUnchangedAfterCancelled() { UnityEventListenerMock timerCompleteMock = new UnityEventListenerMock(); UnityEventListenerMock timerCancelledMock = new UnityEventListenerMock(); UnityEventValueListenerMock <float> timerElapsedTimeMock = new UnityEventValueListenerMock <float>(); UnityEventValueListenerMock <float> timerRemainingTimeMock = new UnityEventValueListenerMock <float>(); subject.Completed.AddListener(timerCompleteMock.Listen); subject.Cancelled.AddListener(timerCancelledMock.Listen); subject.ElapsedTimeEmitted.AddListener(timerElapsedTimeMock.Listen); subject.RemainingTimeEmitted.AddListener(timerRemainingTimeMock.Listen); float beginTime = Time.time; float startTime = 0.5f; subject.StartTime = startTime; Assert.IsFalse(timerElapsedTimeMock.Received); Assert.IsFalse(timerRemainingTimeMock.Received); subject.EmitElapsedTime(); Assert.IsTrue(timerElapsedTimeMock.Received); Assert.AreApproximatelyEqual(timerElapsedTimeMock.Value, 0, Tolerance); subject.EmitRemainingTime(); Assert.IsTrue(timerRemainingTimeMock.Received); Assert.AreApproximatelyEqual(timerRemainingTimeMock.Value, 0.5f, Tolerance); timerElapsedTimeMock.Reset(); timerRemainingTimeMock.Reset(); subject.Begin(); Assert.IsFalse(timerCompleteMock.Received); Assert.IsFalse(timerCancelledMock.Received); subject.EmitElapsedTime(); Assert.IsTrue(timerElapsedTimeMock.Received); Assert.AreApproximatelyEqual(timerElapsedTimeMock.Value, 0, Tolerance); subject.EmitRemainingTime(); Assert.IsTrue(timerRemainingTimeMock.Received); Assert.AreApproximatelyEqual(timerRemainingTimeMock.Value, 0.5f, Tolerance); timerElapsedTimeMock.Reset(); timerRemainingTimeMock.Reset(); yield return(new WaitForSeconds(0.2f)); float elapsedTime = Time.time - beginTime; float remainingTime = startTime + (beginTime - Time.time); subject.EmitElapsedTime(); Assert.IsTrue(timerElapsedTimeMock.Received); Assert.AreEqual(timerElapsedTimeMock.Value, elapsedTime); subject.EmitRemainingTime(); Assert.IsTrue(timerRemainingTimeMock.Received); Assert.AreEqual(timerRemainingTimeMock.Value, remainingTime); timerElapsedTimeMock.Reset(); timerRemainingTimeMock.Reset(); subject.Cancel(); Assert.IsFalse(timerCompleteMock.Received); Assert.IsTrue(timerCancelledMock.Received); subject.EmitElapsedTime(); Assert.IsTrue(timerElapsedTimeMock.Received); Assert.AreEqual(timerElapsedTimeMock.Value, elapsedTime); subject.EmitRemainingTime(); Assert.IsTrue(timerRemainingTimeMock.Received); Assert.AreEqual(timerRemainingTimeMock.Value, remainingTime); timerElapsedTimeMock.Reset(); timerRemainingTimeMock.Reset(); yield return(new WaitForSeconds(0.5f)); subject.EmitElapsedTime(); Assert.IsTrue(timerElapsedTimeMock.Received); Assert.AreEqual(timerElapsedTimeMock.Value, elapsedTime); subject.EmitRemainingTime(); Assert.IsTrue(timerRemainingTimeMock.Received); Assert.AreEqual(timerRemainingTimeMock.Value, remainingTime); }