public void LoadRealFile() { // Sanity check FileAssert.Exists(BASIC_TEST_DATA_PATH, "The file " + BASIC_TEST_DATA_PATH + " was moved or is missing.\n" + "This test will not work without a proper test file in this location that has at least one boid.\n" + "(Present execution directory: " + Directory.GetCurrentDirectory() + ")"); // Setup and Execute BoidsExperiment realExperiment = new BoidsExperiment(BASIC_TEST_DATA_PATH); // Test Assert.IsTrue(realExperiment.Current.Count > 0, "The file " + BASIC_TEST_DATA_PATH + "did not contain any parseable data."); Assert.IsTrue(realExperiment.BoidCount > 0, "The file " + BASIC_TEST_DATA_PATH + "did not result in a boid being instantiated."); }
public void PlyGeneration() { // Initialize string[] easyDummy = { SYNTHETIC_EASY }; // Execute BoidsExperiment easy = new BoidsExperiment(easyDummy); string ply = easy.BoidPly(); // Don't accidentally ToString your BoidsExperiments; you will NOT get a ply file. // Check Assert.IsNotNull(ply); // Prepare the correct header. StringBuilder correctPlyHeader = new StringBuilder(); correctPlyHeader.Append("ply\n"); correctPlyHeader.Append("format ascii 1.0\n"); correctPlyHeader.Append("comment created by boidsTransformer\n"); correctPlyHeader.Append("element vertex " + 441 + "\n"); correctPlyHeader.Append("property float64 x\n"); correctPlyHeader.Append("property float64 y\n"); correctPlyHeader.Append("property float64 z\n"); correctPlyHeader.Append("property float64 vx\n"); correctPlyHeader.Append("property float64 vy\n"); correctPlyHeader.Append("property float64 vz\n"); correctPlyHeader.Append("property float64 s\n"); correctPlyHeader.Append("element face " + 400 + "\n"); correctPlyHeader.Append("property list uint8 int32 vertex_indices\n"); correctPlyHeader.Append("end_header\n"); string correct_ply_str = correctPlyHeader.ToString(); Assert.IsTrue(ply.Length > 0); Assert.IsTrue(ply.Length > correctPlyHeader.Length); Assert.IsTrue(correctPlyHeader.Equals(ply.Substring(0, correct_ply_str.Length)), "Expected: \"" + correct_ply_str + "\", but got \"" + ply.Substring(0, correct_ply_str.Length) + "\"."); // REGEX check the body. Regex bodyCheck = new Regex(@"(?:(?:-?[\d\.]+\s+){7})+(?:(?:[\d]+\s+){5})+", RegexOptions.Compiled | RegexOptions.IgnoreCase); Assert.IsTrue(bodyCheck.IsMatch(ply)); }
public void SingleSnapshot() { // Initialize string[] easyDummy = { SYNTHETIC_EASY }; // Execute BoidsExperiment easy = new BoidsExperiment(easyDummy); // Check Assert.IsTrue(easy.Current.Count == 1); BoidsExperiment.BoidsSnapshot snap = easy.Current[0]; Assert.IsTrue(snap.Timestamp == SYNTHETIC_EASY_ANSWERS[0], "snap.Timestamp is " + snap.Timestamp + ", expected " + SYNTHETIC_EASY_ANSWERS[0]); int pairs = (SYNTHETIC_EASY_ANSWERS.Length - 1) / 2; Assert.IsTrue(snap.Coords.Count == pairs); // Probably could be simplified for test purposes? for (int i = 0; i < pairs; i++) { float[] currentPair = snap.Coords[i]; Assert.IsTrue(currentPair[0] == SYNTHETIC_EASY_ANSWERS[i * 2 + 1]); Assert.IsTrue(currentPair[1] == SYNTHETIC_EASY_ANSWERS[i * 2 + 2]); } }