public void ConvertMassTest() { /* * u metodi dajemo primer unosa, očekivani izlaz na osnovu tog unosa i stvarni rezultat konverzije * koji smo dobili pozivom metode Convert() klase MassConverter za prosleđeni unos. Ukoliko su * data i dobijena vrednost rezultata jednake test će biti uspešan, u suprotnom test će biti neuspešan * i ispisujemo poruku greške */ double input = 48; double expectedOutput = 21.772; MassConverter mass = new MassConverter(); double actualOutput = mass.Convert(input); Assert.AreEqual(expectedOutput, actualOutput, "Postoji greška, konverzija nije tačno izvršena."); }
/* * Metoda koja realizuje menjanje boje dugmića prilikom klika na njih, unos brojeva u kvadrat za unos * na osnovu odabranih dugmića i upis konvertovane vrednosti u kvadrat za izlaz. Metoda će se pozivati * klikom miša na formu. */ private void Converter_MouseClick(object sender, MouseEventArgs e) { /* * Prolazimo kroz niz dugmića i proveravamo da li neki od njih sadrži klik miša i ako da koji. * Kliknuto dugme prvo bojimo u plavo a tekst u njemu u belo, zatim pauziramo program na 100 * milisekundi (Thread.Sleep(100)) kako bi dobili "blink" efekat i potom vraćamo boje dugmeta * na prethodne vrednosti. */ for (int i = 0; i < 11; i++) { if (arrayOfButtons[i].Contains(e.X, e.Y)) { graph.FillEllipse(Brushes.Blue, arrayOfButtons[i].X + 0.5f, arrayOfButtons[i].Y + 0.5f, arrayOfButtons[i].Width - 1, arrayOfButtons[i].Height - 1); if (i == 9) { graph.DrawString("0", new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.White, arrayOfButtons[i].X + 10, arrayOfButtons[i].Y + 10); } else if (i == 10) { graph.DrawString(",", new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.White, arrayOfButtons[i].X + 10, arrayOfButtons[i].Y + 10); } else { graph.DrawString((i + 1).ToString(), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.White, arrayOfButtons[i].X + 10, arrayOfButtons[i].Y + 10); } Thread.Sleep(100); graph.FillEllipse(Brushes.BlueViolet, arrayOfButtons[i].X + 0.5f, arrayOfButtons[i].Y + 0.5f, arrayOfButtons[i].Width - 1, arrayOfButtons[i].Height - 1); if (i == 9) { graph.DrawString("0".ToString(), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, arrayOfButtons[i].X + 10, arrayOfButtons[i].Y + 10); } else if (i == 10) { graph.DrawString(",".ToString(), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, arrayOfButtons[i].X + 10, arrayOfButtons[i].Y + 10); } else { graph.DrawString((i + 1).ToString(), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, arrayOfButtons[i].X + 10, arrayOfButtons[i].Y + 10); } /* * Vršimo upis odabranih brojeva klikom na dugmad u kvadrat namenjen za prikaz unosa. Pri * tome vršimo proveru da li je broj odabranih brojeva manji od 13 jer toliko brojeva može * da stane u kvadrat za unos. Ukoliko korisnik proba da unese više prikazujemo mu odgovarajuće obaveštenje. */ if (input.Length <= 13) { if (i == 9) { input += 0; } else if (i == 10) { input += ','; } else { input += (i + 1); } graph.DrawString(input[input.Length - 1].ToString(), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, rectInput.X + numbersSpace, rectInput.Y + 6); numbersSpace += 6; } else { MessageBox.Show("Maksimalan broj cifara je unet!", "Obaveštenje", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } /* * Ukoliko je kliknuto na dugme za konverziju vršimo upis konvertovane vrednosti u kvadrat za prikaz * izlaza pri tome proveravajući da polje za unos nije prazno. Ako jeste obaveštavamo korisnika da * mora uneti neki broj kako bi izvršio konverziju. Ukoliko je dužina konvertovane vrednosti duža od 13 * upisujemo samo prvih 13 brojeva, ostatak odbacujemo (jer u kvadrat može da stane najviše 13 brojeva). * Takođe vršimo proveru da li broj zareza 0 (ako je ceo broj) ili 1 (ako je decimalni broj). Ako nije * obaveštavamo korisnika da mora uneti pravilan broj kako bi izvršili konverziju. */ if (rectConvertButton.Contains(e.X, e.Y)) { numberOfCommas = input.Count(x => x == ','); if (input != "" && (numberOfCommas == 1 || numberOfCommas == 0)) { graph.Clear(this.BackColor); Draw(obj, eA); numbersSpace = 3; foreach (char c in input) { graph.DrawString(c.ToString(), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, rectInput.X + numbersSpace, rectInput.Y + 6); numbersSpace += 6; } if (radioButtonLength.Checked) { output = lC.Convert(Convert.ToDouble(input.Replace(',', '.'))).ToString(); graph.DrawString(output.Substring(0, output.Length <= 13 ? output.Length : 13).Replace('.', ','), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, rectOutput.X + 3, rectOutput.Y + 6); } else { output = mC.Convert(Convert.ToDouble(input.Replace(',', '.'))).ToString(); graph.DrawString(output.Substring(0, output.Length <= 13 ? output.Length : 13).Replace('.', ','), new Font(FontFamily.GenericSansSerif, 8, FontStyle.Bold), Brushes.Black, rectOutput.X + 3, rectOutput.Y + 6); } } else { MessageBox.Show("Morate uneti neki pravilan broj kako bi izvršili konverziju!", "Obaveštenje", MessageBoxButtons.OK, MessageBoxIcon.Information); } } /* * Ako se klikne dugme C za "Clean" (čišćenje) dolazi do brisanja brojeva iz oba polja, radi * novog unosa brojeva iz početka. */ if (cleanButton.Contains(e.X, e.Y)) { graph.Clear(this.BackColor); Draw(obj, eA); numbersSpace = 3; input = ""; } }