Example #1
0
            public static void Setup(string debug)
            {
                debug += "Tanuló.Setup" + dbj;

                Színes.WriteLine("Add meg, hogy mely könyvtárba lettek kiválogatva a dolgozatok! (A readme-ben az [green]{ide} könyvtár.)");
                Teszt.root = Színes.Be();

                #region Teszt-objektumok létrehozása
                Színes.WriteLine(debug + dbj + "[blue]{Teszt-objektumok létrehozása}");
                foreach (string path in Directory.EnumerateDirectories(Directory.GetCurrentDirectory() + "\\" + Teszt.root).Where(x => !Path2name(x).StartsWith("-")))
                {
                    new Teszt(path);
                }
                #endregion

                #region Tanuló-objektumok létrehozása
                Színes.WriteLine(debug + dbj + "[blue]{Tanuló-objektumok létrehozása}");
                Tanuló t;
                foreach (string tanulópath in Directory.EnumerateDirectories(Teszt.szótár.Values.First().path))
                {
                    if (tanulópath.Split('\\').Last()[0] != '-')                     // a kötőjellel kezdődőeket nem veszi figyelembe.
                    {
                        t = new Tanuló(tanulópath);
                        Színes.Write(debug + "[green]{" + t.név + "}");
                        Console.Write(" tanuló inicializálva");
                        if (t.ezamegoldókulcs)
                        {
                            Színes.Write(" [blue]{<-- ez a megoldókulcs!}");
                        }
                        Console.WriteLine();
                    }
                }

                #endregion

                // létrehozza az ALT-okat.
                #region ALT (Adatbázis-Lekérdezés-Típus) rendezett hármasok beolvasása a setup.exe-ből.
                Színes.WriteLine(debug + dbj + "[blue]{ALT-objektumok létrehozása} (Adatbázis-Lekérdezés-Típus: rendezett hármasok beolvasása a setup.exe-ből.)");
                using (StreamReader f = new StreamReader("setup.txt", Encoding.UTF8))
                {
                    while (!f.EndOfStream)
                    {
                        string sor = f.ReadLine();
                        if (sor[0] != '%')                         // megjegyzés, nem mentjük el
                        {
                            new ALT(sor);
                        }
                    }
                }
                Színes.WriteLine(debug + "setup.txt beolvasva:");
                Színes.WriteLine("[blue]{adatbázis neve}\t[blue]{lekérdezés neve}\t -> \t[blue]{lekérdezés típusa}");
                Színes.WriteLine("---------------------------");
                foreach (ALT nnt in ALT.szótár.Values)
                {
                    Console.WriteLine("{0}\t{1}\t -> \t{2}", nnt.adatbázisfájl, nnt.lekérdezésfájl, nnt.tipus);
                }
                #endregion
            }
Example #2
0
        static void Main(string[] args)
        {
            Readme();
            string debug = "";

            Tanuló.Setup(debug);
            Tanuló.Pontozás(debug);

            foreach (Teszt teszt in Teszt.szótár.Values)
            {
                teszt.Eredmények_Kiírása(debug);
            }
            Teszt.Eredmények_Összesítésének_Kiírása(debug);

            Színes.Be("A program futása véget ért, nyomj egy entert az ablak bezárásához!");
        }
Example #3
0
        static void Readme()
        {
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("\t [red]{README: PROGRAMTESZTELÉSHEZ} ");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{E)\t Előkészületek}");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{E-1)}\t Válassz egy [blue]{R} könyvtárat, ahova az összes tanuló és a megoldókulcs könyvtárát bemásolod. Mindegy, hogy mi a könyvtárak belső szerkezete. Figyelj viszont arra, hogy}");
            Színes.WriteLine("[red]{E-1.1}\t A tanulók könyvtárainak a neve legyen [red]{\"vezetéknév keresztnév\"}, tehát más szöveg (vagy 2-nél több szóköz) ne legyen benne, mert ronda lesz a vége.}");
            Színes.WriteLine("[red]{E-1.2}\t A megoldókulcs könyvtárneve kezdődjön felkiáltójellel ([red]{!}).");
            Színes.WriteLine("[red]{E-2)}\t A következő exe fájlokat gyűjtsd ki valahova: [blue]{Kiszedegető.exe}, [blue]{InputokSzétosztásaÉsAFuttatás.exe}, [blue]{Összehasonlító.exe}");
            Színes.WriteLine("[red]{E-3)}\t A programok teszteléséhez szükséges inputfájlok könyvtáraiból álló inputfájlrendszert gyűjtsd ki egy [blue]{I} könyvtárba.");
            Színes.WriteLine("[red]{E-4)}\t Hozz létre egy [green]{setup.exe}-t, amely néhány %-kal kezdődő sor (komment) után egy 3 oszlopos tabulátorokkal tagolt táblázatot tartalmaz. Az oszlopok tartalma: ");
            Színes.WriteLine("\t[red]{E-4.1) 1. oszlop:}\t A dolgozat címe. (Programteszteléskor ennek nincs jelentősége.)  ");
            Színes.WriteLine("\t[red]{E-4.2) 2. oszlop:}\t Az elemzendő outputfájl neve kiterjesztéssel együtt. ");
            Színes.WriteLine("\t[red]{E-4.3) 3. oszlop:}\t A tartalom típusa, ami az elemzéshez szükséges. A következő opciók állnak jelenleg rendelkezésre:");
            Színes.WriteLine("\t\t[red]{E-4.3.1) logikai:}\t A megoldás egy logikai érték, a [blue]{true}/[blue]{false} értékek valamelyike.");
            Színes.WriteLine("\t\t[red]{E-4.3.2) szám-}[green]{n}[red]{:}\t A megoldás egy szám, amelynek pontossága a megoldókulccsal [green]{n} tizedesjegyig meg kell egyezzen.");
            Színes.WriteLine("\t\t[red]{E-4.3.3) rendezett halmaz:}\t A megoldás egy tabulátorokkal tagolt táblázat, amelyben a rekordok sorrendje és multiplicitása számít.");
            Színes.WriteLine("\t\t[red]{E-4.3.4) multihalmaz:}\t a megoldás egy tabulátorokkal tagolt táblázat, amelyben a rekordok multiplicitása számít, de a sorrendjük nem.");
            Színes.WriteLine("\t\t[red]{E-4.3.5) halmaz:}\t ugyanaz, mint a multihalmaz, de ha a megoldókulcs megoldásában nincs multiplicitás, akkor nyilván ez lesz megkövetelve a tanulók megoldásaival szemben is.");
            Színes.WriteLine("[red]{E-5)}\t Figyeljünk oda arra, hogy a setup.txt-ben ne legyenek hibák. A vizsgálandó outputfájlokat és az összevetés módját is innen olvassa ki a program.");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{K)\t Kiszedegetés:}");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{K-1)}\t Tedd a [blue]{Kiszedegető.exe}-t az [blue]{R} könyvtárba.");
            Színes.WriteLine("[red]{K-2)}\t Ha pl. [red]{17} inputfájllal akarsz tesztelni, akkor futtasd le a [blue]{Kiszedegető.exe}-t a következő paraméterekkel:");
            Színes.WriteLine("[blue]{R} = [green]{.*\\.exe}, [blue]{F} = [green]{}, [blue]{C} = [green]{ide}, [blue]{O} = [green]{sok2}[red]{17} ");
            Színes.WriteLine("(Az [green]{ide} könyvtár ne kezdődjön kötőjellel ([red]{-}), mert attól összeakad a tesztelőprogram!)");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{T)\t Tesztelés:}");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{T-1)}\t Tedd az inputfájlos könyvtárakat tartalmazó könyvtárat (könyvtárak könyvtára!) az [green]{ide} könyvtárba. Mindenképp kötőjellel ([red]{-}) kezdődjön a fájlnév!");
            Színes.WriteLine("[red]{T-2)}\t Tedd a [blue]{InputokSzétosztásaÉsAFuttatás.exe}-t az [green]{ide} könyvtárba és futtasd le!");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{Ö)\t Összehasonlítás a megoldókulccsal}");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{Ö-1)}\t Futtassuk le az [blue]{Összehasonlító.exe}-t.");
            Színes.WriteLine("[red]{Ö-2)}\t A végén bekér majd egy fájlnevet, ahova elmentheti az eredményeket.");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("\t [red]{README: ACCDB ADATBÁZISOK LEKÉRDEZÉSEINEK ÉS TÁBLÁINAK ELLENŐRZÉSÉHEZ} ");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");
            Színes.WriteLine("[red]{------------- UNDER CONSTRUCTION ------------------------------}");
            Színes.WriteLine("[red]{--------------------------------------------------------------}");

            debugmode = Színes.Be("\nNyomj egy entert, ha készen állsz! (debug-módhoz írd be azt is, hogy [blue]{debug}!)") == "debug";
        }
Example #4
0
            public static void Eredmények_Összesítésének_Kiírása(string debug)
            {
                debug += "Teszt.Eredmények_Összesítésének_Kiírása" + dbj;

                Színes.WriteLine("---------------- " + debug + " ----------------------");
                Színes.WriteLine("A tesztek összesítése:");
                int p;

                Console.Write("\t");
                string result = "\t";

                foreach (ALT alt in ALT.szótár.Values)
                {
                    Színes.Write("\t[blue]{" + alt.lekérdezésfájl.Substring(0, Math.Min(7, alt.lekérdezésfájl.Length)) + "}");
                    result += "\t" + alt.lekérdezésfájl.Substring(0, Math.Min(7, alt.lekérdezésfájl.Length));
                }
                Console.WriteLine();
                Console.Write("\t");
                result += "\r\n\t";
                foreach (ALT alt in ALT.szótár.Values)
                {
                    Színes.Write("\t[blue]{" + Monogram(alt.tipus) + "}");
                    result += "\t" + Monogram(alt.tipus);
                }
                Console.WriteLine();
                result += "\r\n";
                int sum;

                foreach (Tanuló tanuló in Tanuló.szótár.Values)
                {
                    Színes.Write("[green]{" + Monogram(tanuló.név) + "}");
                    result += Monogram(tanuló.név);

                    // tanuló összes pontja
                    sum = 0;
                    foreach (ALT alt in ALT.szótár.Values)
                    {
                        sum += tanuló.pontjai[alt];
                    }
                    Színes.Write("\t[blue]{" + sum + " <- }");

                    result += "\t" + sum;
                    foreach (ALT alt in ALT.szótár.Values)
                    {
                        Console.Write("\t");
                        result += "\t";
                        p       = tanuló.pontjai[alt];

                        if (tanuló.pontjai[alt] == Tanuló.megoldókulcs.pontjai[alt])
                        {
                            Színes.Write("[green]{" + p.ToString() + "}");
                        }
                        else if (tanuló.pontjai[alt] > 0)
                        {
                            Színes.Write("[yellow]{" + p.ToString() + "}");
                        }
                        else
                        {
                            Színes.Write("[red]{" + p.ToString() + "}");
                        }
                        result += p.ToString();
                    }
                    Console.WriteLine();
                    result += "\r\n";
                }

                Console.WriteLine("Add meg a fájlnevet (kiterjesztés nélkül), ahova menteni szeretnéd az eredményeket!");
                string outputfájlnév = Színes.Be() + ".txt";

                using (StreamWriter output = new StreamWriter(outputfájlnév))
                {
                    output.WriteLine(result);
                }
                //				Clipboard.SetText(result);
                //			Console.WriteLine("Táblázat kimásolva a vágólapra.");
            }