using System; using System.Collections.Generic; using System.Linq; using System.Text; using Azimuth; using Annulus.Broadphase; namespace Annulus.UnitTests.Broadphase { public class NaiveBroadphaseTests : UnitTestSharp.TestFixture { public void Basic() { var list = new List() { 0, 1, 2, 3, }; var pairs = new List>(NaiveBroadphase.AllUniquePairs(list)); CheckEqual(6, pairs.Count()); CheckEqual(new KeyValuePair(0, 1), pairs[0]); CheckEqual(new KeyValuePair(0, 2), pairs[1]); CheckEqual(new KeyValuePair(0, 3), pairs[2]); CheckEqual(new KeyValuePair(1, 2), pairs[3]); CheckEqual(new KeyValuePair(1, 3), pairs[4]); CheckEqual(new KeyValuePair(2, 3), pairs[5]); } public void Empty() { var list = new List() { }; var pairs = new List>(NaiveBroadphase.AllUniquePairs(list)); CheckEqual(0, pairs.Count()); } public void DuplicateKeys() { var list = new List() { 0, 1, 1, 2, }; var pairs = new List>(NaiveBroadphase.AllUniquePairs(list)); CheckEqual(6, pairs.Count()); CheckEqual(new KeyValuePair(0, 1), pairs[0]); CheckEqual(new KeyValuePair(0, 1), pairs[1]); CheckEqual(new KeyValuePair(0, 2), pairs[2]); CheckEqual(new KeyValuePair(1, 1), pairs[3]); CheckEqual(new KeyValuePair(1, 2), pairs[4]); CheckEqual(new KeyValuePair(1, 2), pairs[5]); } } }