/* The test file will have the following format */ /* target,line,place - string,string,byte */ /* We will have two test files, one for each method again */ // Here we consider that the starting point of a string is "1" //If method is 0, the DoReplace, else Insert public void checkValidity(int method) { string [] input = { "DoReplace_In.txt", "Insert_In.txt" }; string [] output = { "DoReplace_Out.txt", "Insert_Out.txt" }; string[] tokens = { "," }; /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΤΟ ΟΠΟΙΟ ΒΡΙΣΚΕΤΑΙ ΣΤΟ ΣΧΕΤΙΚΟ ΜΟΝΟΠΑΤΙ ΤΟΥ project*/ try { using (StreamReader inputFile = new StreamReader(input[method])) /*Το using στο τέλος κλείνει το stream*/ { Console.WriteLine("Άνοιγμα και έλεγχος αρχείου \"" + input[method] + "\"..."); /*Εφόσον όλα πήγαν ΟΚ με το άνοιγμα του input file θα δημιουργήσουμε το αρχείο των αποτελεσμάτων*/ /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΑΠΟΤΕΛΕΣΜΑΤΩΝ*/ using (StreamWriter outputFile = new StreamWriter(output[method])) { /*ΔΙΑΒΑΣΜΑ ΓΡΑΜΜΗ-ΓΡΑΜΜΗ ΤΟΥ ΑΡΧΕΙΟΥ ΜΕΧΡΙ ΤΟ EOF*/ string line = null; while ((line = inputFile.ReadLine()) != null) { /*πέρασμα αυτού του χαραχτήρα στο αρχείο*/ outputFile.WriteLine(line); /*διαχωρισμός των στοιχείων της γραμμής*/ string [] parameters = line.Split(tokens, 3, System.StringSplitOptions.RemoveEmptyEntries); if (method == 0) { checkStriman.DoReplace(parameters[0], ref parameters[1], Byte.Parse(parameters[2])); } else { checkStriman.Insert(parameters[0], ref parameters[1], Byte.Parse(parameters[2])); } outputFile.WriteLine(parameters[1]); } } Console.WriteLine("ΟΛΟΚΛΗΡΩΘΗΚΕ Ο ΕΛΕΓΧΟΣ.\nΤα αποτελέσματα αποθηκεύτηκαν στο αρχείο \"" + output[method] + "\" !!!\n"); } } catch (Exception e) { Console.WriteLine("Error in file handling:"); Console.WriteLine(e.Message); } }
/* 3.0 */ private void Hexameter(string verse, ref string scansion) { byte i; scansion = "_"; for (i = 2; i <= verse.Length; i++) //Γεμίζει όλο το "scansion" με "_" { scansion = scansion + "_"; } strimanUtil.DoReplace("-", ref scansion, position[0, 1]); //Ενημερώνεται το "scansion". Στη θέση που υποδεικνύει ο "position" τοποθετείται "-" for (i = (byte)(counter - 1); i <= counter; i++) //Τοποθετείται στο "scansion" το σύμβολο "-" στην θέση του 2ου φωνήεντος της τελευταίας συλλαβής του στίχου και στην προηγούμενή του { strimanUtil.DoReplace("-", ref scansion, position[i - 1, 1]); } switch (counter) { case 12: for (i = 2; i <= 10; i++) { strimanUtil.DoReplace("-", ref scansion, position[i - 1, 1]); } MarkFeet(1, 5, 2, 0, 1); break; case 13: Resolve13(verse, ref scansion); break; case 14: Resolve14(verse, ref scansion); break; case 15: Resolve15(verse, ref scansion); break; case 16: Resolve16(verse, ref scansion); break; case 17: for (i = 2; i <= 15; i++) { if ((i % (byte)3) == 1) { strimanUtil.DoReplace("-", ref scansion, position[i - 1, 1]); //Στις συλλαβές 4,7,10 και 13 στην θέση του 2ου φωνήεντος θα βάλει "-" } else { strimanUtil.DoReplace("U", ref scansion, position[i - 1, 1]); //Στις υπόλοιπες περιπτώσεις, στην θέση του 2ου φωνήεντος μπαίνει "U" } } MarkFeet(1, 5, 3, 0, 1); break; } }