public IEnumerator IsCompletedWhenExpected(PrefabInstanceCountCriterion.InstanceCountComparison comparisonMode, int instanceCount, int actualNumberOfInstances, bool expectedCompletion)
        {
            for (var i = 0; i < actualNumberOfInstances; i++)
            {
                m_PrefabInstances.Add(PrefabUtility.InstantiatePrefab(m_Criterion.prefabParent));
            }

            m_Criterion.comparisonMode = comparisonMode;
            m_Criterion.instanceCount  = instanceCount;
            foreach (var _ in TriggerSelectionChanged())
            {
                yield return(null);
            }

            Assert.AreEqual(expectedCompletion, m_Criterion.completed);
        }
        public IEnumerator AutoComplete_IsCompleted(PrefabInstanceCountCriterion.InstanceCountComparison comparisonMode, int instanceCount, int actualNumberOfInstances)
        {
            for (var i = 0; i < actualNumberOfInstances; i++)
            {
                m_PrefabInstances.Add(PrefabUtility.InstantiatePrefab(m_Criterion.prefabParent));
            }

            m_Criterion.comparisonMode = comparisonMode;
            m_Criterion.instanceCount  = instanceCount;

            m_Criterion.AutoComplete();

            // Completion is evaulated when selection changes
            Selection.objects = new UnityObject[] { m_Criterion.prefabParent };
            yield return(null);

            Selection.objects = new UnityObject[0];
            yield return(null);

            Assert.IsTrue(m_Criterion.completed);
        }