Example #1
0
        public void TestStartSamePoint()
        {
        	GraduationInput input = new GraduationInput();
            input.start = new long[] { 0 };
            input.stop = new long[] { 1 };
            input.timeEntered = new long[] { 2 };
            input.nIntersections = 5;
            input.totalTime = 3;	
            
            Graduation grad = new Graduation();

            List<Point<long>> best;
            Car car = new Car(input, 0);
            
            grad.getLongestSegment(4, 1, out best, car);
            
            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(0, 0), best[0]);
            Assert.AreEqual(new Point<long>(2, 3), best[1]);
        	
        }
Example #2
0
        public void Test3rdBackIntersection()
        {
        	GraduationInput input = new GraduationInput();
            input.start = new long[] { 2 };
            input.stop = new long[] { 0 };
            input.timeEntered = new long[] { 1 };
            input.nIntersections = 3;
            input.totalTime = 5;	
            
            Graduation grad = new Graduation();

            List<Point<long>> best;
            Car car = new Car(input, 0);
            
            grad.getLongestSegment(2, 4, out best, car);
            //Logger.LogDebug("TESTTEST");
            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(1, 2), best[0]);
            Assert.AreEqual(new Point<long>(1, 5), best[1]);
        	
        }
Example #3
0
        public void TestBackward()
        {
        	GraduationInput input = new GraduationInput();
            input.start = new long[] { 2 };
            input.stop = new long[] { 6 };
            input.timeEntered = new long[] { 4 };
            input.nIntersections = 10;
            input.totalTime = 10;	
            
            
            Graduation grad = new Graduation();

            List<Point<long>> best;
            Car car = new Car(input, 0);
            
            grad.getLongestSegment(4, 9, out best, car);
            
            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(5, 8), best[0]);            
            Assert.AreEqual(new Point<long>(3, 10), best[1]);
            
            grad.getLongestSegment(5, 9, out best, car);
            
            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(5, 9), best[0]);            
            Assert.AreEqual(new Point<long>(4, 10), best[1]);
            
            grad.getLongestSegment(6, 9, out best, car);
            
            //No intersections
            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(5, 0), best[0]);            
            Assert.AreEqual(new Point<long>(5, 10), best[1]);
        }
Example #4
0
        /*we intersect with a car going both forward and backward from
         * the query point
         */
            
        public void TestBeforeAndAfterIntersection()
        {
            GraduationInput input = new GraduationInput();
            input.start = new long[] { 3 };
            input.stop = new long[] { 2 };
            input.timeEntered = new long[] { 0 };
            input.nIntersections = 5;
            input.totalTime = 100000;

            Graduation grad = new Graduation();

            List<Point<long>> best;
            Car car = new Car(input, 0);
            
            grad.getLongestSegment(2, 1, out best, car);

            Assert.AreEqual(2, best.Count);

            Assert.AreEqual(new Point<long>(2, 1), best[0]);
            Assert.AreEqual(new Point<long>(1, 2), best[1]);
        }
Example #5
0
        public void TestForward()
        {
        	GraduationInput input = new GraduationInput();
            input.start = new long[] { 2 };
            input.stop = new long[] { 6 };
            input.timeEntered = new long[] { 4 };
            input.nIntersections = 10;
            input.totalTime = 10;	
            
            
            Graduation grad = new Graduation();

            List<Point<long>> best;
            Car car = new Car(input, 0);
            
            grad.getLongestSegment(5, 1, out best, car);

            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(6, 0), best[0]);
            //Would intersect with beginning of car at 2, 4
            Assert.AreEqual(new Point<long>(3, 3), best[1]);
            
            
            grad.getLongestSegment(4, 1, out best, car);

            Assert.AreEqual(2, best.Count);
            //No intersections at all
            Assert.AreEqual(new Point<long>(5, 0), best[0]);            
            Assert.AreEqual(new Point<long>(5, 10), best[1]);
            
            
            grad.getLongestSegment(3, 1, out best, car);
            //No intersections
            Assert.AreEqual(2, best.Count);
            Assert.AreEqual(new Point<long>(4, 0), best[0]);            
            Assert.AreEqual(new Point<long>(7, 7), best[1]);
        	
        }