Difference between revisions of "Part 2 Test Files"

From CMSC 420
Line 24: Line 24:
  
 
==Mike's Java PMQuadtree Input Generator==
 
==Mike's Java PMQuadtree Input Generator==
*In my efforts to debug my PM Quadtree, I have developed a java program that creates xml input files for making random PM Quadtrees (with random cities and roads).
+
*I made a program that will generate some tests files for you.
 +
*I also put up some examples with my output.  I'm passing the release tests for part 3 so hypothetically these outputs are all correct.
  
'''May 13, 2007, 9:40 PM - I have updated the test program to now also do delete cities and fix a bug or two. I have also added some PM2 and PM1 tests below.  I'll be fixing the PM3 test output (see below about the problem) a little later. -Mike'''<br><br>
+
**[http://www.doc-ent.com/meeshquest/PMTestFileMaker.java] - Program '''(Updated 5/16 at 2:20 PM, Version 1.2)'''
 +
**[http://www.doc-ent.com/meeshquest/revisedtests] - New Tests
  
-[May 13, 2007]  Mike, I think that one of the problem with from your output file is that you do not list the roads in asciibetical order.  For example, 
+
*Regards, Mike Bentley
(this is correct)
 
                <black cardinality="3">
 
                  <city color="black" name="city29" radius="0" x="244" y="407"/>
 
                  <road end="city78" start="city29"/>
 
                  <road end="city99" start="city36"/>
 
(this is NOT correct)
 
                <black cardinality="3">
 
                  <city color="black" name="city29" radius="0" x="244" y="407"/>
 
                  <road end="city99" start="city36"/>
 
                  <road end="city78" start="city29"/>
 
 
 
You correctly have the start as the asciibetically lower city name, but when you list them, you don't have them listed asciibetically.  A simple Collections.sort(<ArrayList> list, new RoadComparator()) before listing the roads should do the trick.
 
~colin
 
PS.  Anyone else verify this?
 
 
 
'''Yes, this turned out to be the problem.  Thanks for the help.  -Mike'''<br><br>
 
 
 
**[http://www.doc-ent.com/meeshquest/PMTestFileMaker.java] - Program '''(Updated, Version 1.1)'''
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests.input.xml] - Input 1
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests.input.xml.output.xml] - Output 1
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests1.input.xml] - Input 2
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests1.input.xml.output.xml] - Output 2
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests2.input.xml] - Input 3
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests2.input.xml.output.xml] - Output 3
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests3.input.xml] - Input 4
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests3.input.xml.output.xml] - Output 4
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests4.input.xml] - Input 5
 
**[http://www.doc-ent.com/meeshquest/PMJavaTests4.input.xml.output.xml] - Output 5
 
 
 
'''New PM2 Tests'''
 
**[http://www.doc-ent.com/meeshquest/PM2]
 
 
 
'''New PM1 Tests'''
 
**[http://www.doc-ent.com/meeshquest/PM1]
 

Revision as of 18:19, 16 May 2007

Upload and post Part 2 test files here.

You will need to right-click these and do a Save As... just copying/pasting them from your browser will not work.

If you have downloaded and ran someone's test files, mark on the wiki that you verify if outputs correctly. If you have a problem with a test file, mark it on the wiki and discuss it on the forum or possibly on the talk page (although more people would probably see it on the CS forum).

John's B Tree Test Files[edit]

  • Verified by: John, Maxim
  • These are pretty general and rely on a generic BTree. Some of the tests are pretty much just sanity checks, but the core functionality should be very well tested with this.

John's Part 2 Test Files[edit]

  • Verified by: John
  • I took Max's part3 test files and ripped whatever I could out of it, then corrected it for start/end ordering and such. Anyway, this should get you most of the way there. A more gnarly shortestPath test would be nice.

Ryan's Nearest City Matlab Script Generator[edit]

  • This script runs with Matlab, just input the number of cities you want to create and a filename to save the generated input file - nearestCity(numPoints, fileName). Basically, the script randomly picks two points in a 1024x1024 window, point A and B. Point A is used for reference, while point B is actually mapped. The distance between A and B represents the minimum distance all other points must have from the reference point A. As each new point is generated, a road is mapped from the new point to point B, this way roads shouldn't intersect. (Intersections will occur on a VERY, VERY rare basis.) Run the input file and check that the output finds the nearestCity "near". I didn't feel like creating the xml output, so I just look at the last line of the output for the nearest city.
  • I created 20 cities and that was sufficient for finding my errors. I have it so that Matlab plots the roads.
  • As a note - I was passing all the tests on Part 1 for nearest city and failing them on Part 2 - now I pass them.
  • Also, this script can be modified (with relative ease) to check rangeCities. If I have the time I might make create that as well.

Mike's Java PMQuadtree Input Generator[edit]

  • I made a program that will generate some tests files for you.
  • I also put up some examples with my output. I'm passing the release tests for part 3 so hypothetically these outputs are all correct.
    • [1] - Program (Updated 5/16 at 2:20 PM, Version 1.2)
    • [2] - New Tests
  • Regards, Mike Bentley