예제 #1
0
        static void Main(string[] args)
        {
            int         times     = 20;
            int         clursters = 3;
            List <Spot> jClusts   = (new SpotBuilder()).ExcutePharshing();

            Console.WriteLine("[Total Allocated Classes : " + jClusts.Count + "]");
            Console.Write("[Receive Number of Clursters] : ");
            clursters = int.Parse(Console.ReadLine());
            Console.WriteLine("[ >" + clursters + "<  Clursters Setted ]");
            Console.Write("[How Many Times to Clurstering] : ");
            times = int.Parse(Console.ReadLine());
            Console.WriteLine("[ >" + times + "< Time Iterate Clurstering ]");
            RenderWindow app          = new RenderWindow(new VideoMode(1728, 864), "Clustering", Styles.Default);
            WorldSpace2D worldSpace2D = new WorldSpace2D(clursters, jClusts);

            worldSpace2D.PrintInfo(app);
            for (int i = 0; i < times; i++)
            {
                app.Clear();
                // Process events
                app.DispatchEvents();
                Console.WriteLine("[" + i + " Times Iteration]");
                worldSpace2D.Clustering(app);
                worldSpace2D.PrintInfo(app);
                worldSpace2D.PrintImportantInfo(app);

                // Update the window
                app.Display();
            }
            Console.WriteLine("[ Clurstering Completed, Press EnterKey to Close ]");
            Console.ReadLine();
        }
예제 #2
0
        public void Covariance()
        {
            WorldSpace2D a = new WorldSpace2D(10, 20);
            WorldSpace   b = a;

            Assert.That(b.Z, Is.EqualTo(0));
            Assert.That(b.X, Is.EqualTo(10));
            Assert.That(b.Y, Is.EqualTo(20));

            WorldSpace   c = new WorldSpace(10, 20, 0);
            WorldSpace2D d = c;

            Assert.That(d.X, Is.EqualTo(10));
            Assert.That(d.Y, Is.EqualTo(20));

            WorldSpace e = (10, 20, 0);

            Assert.That(e.X, Is.EqualTo(10));
            Assert.That(e.Y, Is.EqualTo(20));
            Assert.That(e.Z, Is.EqualTo(0));

            WorldSpace2D f = (10, 20);

            Assert.That(f.X, Is.EqualTo(10));
            Assert.That(f.Y, Is.EqualTo(20));

            Assert.That(a == b); Assert.That(b == a);
            Assert.That(b == c); Assert.That(c == b);
            Assert.That(c == d); Assert.That(d == c);
            Assert.That(d == f); Assert.That(f == d);
        }
예제 #3
0
        public void CanEnumerateRanges()
        {
            var map = new Map2D <float>();

            map[1, 2] = 4.0f;

            var begin = new WorldSpace2D(0, 0);
            var end   = new WorldSpace2D(4, 4);

            Assert.That(map.Within(begin, end).Any());
            Assert.That(map.Within(begin, end).Any(i => Math.Abs(i - 4.0f) < 0.001));
        }
예제 #4
0
        public void SupportsUnloading()
        {
            var map = new Map2D <float>();

            map[0, 0]   = 2.0f;
            map[16, 16] = 2.0f;
            map[33, 33] = 4.0f;

            Assert.AreEqual((16 * 16) * 3, map.Count);

            var begin = new WorldSpace2D(0, 0);
            var end   = new WorldSpace2D(33, 33);

            map.UnloadArea(begin, end);

            Assert.AreEqual(0, map.Count);
        }
예제 #5
0
        public void SupportsUnloadingWithPersistance()
        {
            var map = new Map2D <float>();

            map[0, 0]   = 2.0f;
            map[16, 16] = 2.0f;
            map[33, 33] = 4.0f;

            Assert.AreEqual((16 * 16) * 3, map.Count);

            map.MakePersistant((1, 1));

            var begin = new WorldSpace2D(0, 0);
            var end   = new WorldSpace2D(33, 33);

            map.UnloadArea(begin, end);

            // One chunk left
            Assert.AreEqual((16 * 16), map.Count);
        }
예제 #6
0
        public void KeyIdentity()
        {
            WorldSpace a = new WorldSpace(1, 2, 3);
            WorldSpace b = new WorldSpace(1, 2, 3);

            var dict = new Dictionary <WorldSpace, string>();

            dict.Add(a, a.ToString());

            Assert.Throws <ArgumentException>(() => dict.Add(b, b.ToString()));
            Assert.That(dict.Count == 1);

            WorldSpace2D c = new WorldSpace2D(1, 2);
            WorldSpace2D d = new WorldSpace2D(1, 2);

            var dict2D = new Dictionary <WorldSpace2D, string>();

            dict2D.Add(c, d.ToString());

            Assert.Throws <ArgumentException>(() => dict2D.Add(d, d.ToString()));
            Assert.That(dict2D.Count == 1);
        }