Witam.
Posiadam taką prostą aplikacje, która ma kilka funkcji (dodawanie osoby, usuwanie osoby, aktualizacja danych osoby, czyszczenie pól, wyszukiwanie osoby w bazie).
Potrzebuję zrobić powiedzmy 3 testy jednostkowe. Problem w tym, że nie wiem jak to zrobić. Co mają sprawdzać testy? Na przykład czy dana osoba została dodana do bazy lub usunięta?
Przeszukałem już sporo stron i filmików na yt, ale nadal nie wiem jak się za to zabrać.
using EasyConnect.easyconnectClasses;
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;
namespace EasyConnect
{
public partial class EasyConnect : Form
{
public EasyConnect()
{
InitializeComponent();
}
ConnectClass c = new ConnectClass();
private void EasyConnect_Load(object sender, EventArgs e)
{
DataTable dt = c.Select();
dataGridViewContactList.DataSource = dt;
}
private void buttonAdd_Click(object sender, EventArgs e)
{
//Pobierz wartość z pola wejściowego
c.FirstName = textBoxFirstName.Text;
c.LastName = textBoxLastName.Text;
c.ContactNo = textBoxContactNumber.Text;
c.Address = textBoxAddress.Text;
c.Gender = comboBoxGender.Text;
bool success = c.Insert(c);
if(success==true)
{
MessageBox.Show("Nowy kontakt został pomyślnie wprowadzony.");
Clear();
}
else
{
MessageBox.Show("Błąd w dodawaniu nowego kontaktu. Spróbuj ponownie.");
}
DataTable dt = c.Select();
dataGridViewContactList.DataSource = dt;
}
private void pictureBox1_Click(object sender, EventArgs e)
{
this.Close();
}
//Metoda do czyszczenia danych po lewej stronie
public void Clear()
{
textBoxContactID.Text = "";
textBoxFirstName.Text = "";
textBoxLastName.Text = "";
textBoxContactNumber.Text = "";
textBoxAddress.Text = "";
comboBoxGender.Text = "";
}
private void buttonUpdate_Click(object sender, EventArgs e)
{
c.ContactID = int.Parse(textBoxContactID.Text);
c.FirstName = textBoxFirstName.Text;
c.LastName = textBoxLastName.Text;
c.ContactNo = textBoxContactNumber.Text;
c.Address = textBoxAddress.Text;
c.Gender = comboBoxGender.Text;
bool success = c.Update(c);
if(success == true)
{
MessageBox.Show("Kontakt został pomyślnie zaktualizowany.");
DataTable dt = c.Select();
dataGridViewContactList.DataSource = dt;
Clear();
}
else
{
MessageBox.Show("Błąd w aktualizacji kontaktu. Spróbuj ponownie.");
}
}
private void dataGridViewContactList_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
int rowIndex = e.RowIndex;
textBoxContactID.Text = dataGridViewContactList.Rows[rowIndex].Cells[0].Value.ToString();
textBoxFirstName.Text = dataGridViewContactList.Rows[rowIndex].Cells[1].Value.ToString();
textBoxLastName.Text = dataGridViewContactList.Rows[rowIndex].Cells[2].Value.ToString();
textBoxContactNumber.Text = dataGridViewContactList.Rows[rowIndex].Cells[3].Value.ToString();
textBoxAddress.Text = dataGridViewContactList.Rows[rowIndex].Cells[4].Value.ToString();
comboBoxGender.Text = dataGridViewContactList.Rows[rowIndex].Cells[5].Value.ToString();
}
private void buttonClear_Click(object sender, EventArgs e)
{
//Wywołaj metode czyszczenia
Clear();
}
private void buttonDelete_Click(object sender, EventArgs e)
{
c.ContactID = Convert.ToInt32(textBoxContactID.Text);
bool success = c.Delete(c);
if(success==true)
{
MessageBox.Show("Kontakt został pomyślnie usunięty.");
DataTable dt = c.Select();
dataGridViewContactList.DataSource = dt;
Clear();
}
else
{
MessageBox.Show("Błąd w usuwaniu kontaktu. Spróbuj ponownie.");
}
}
static string myconnectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
public object DragGable { get; private set; }
private void textBoxSearch_TextChanged(object sender, EventArgs e)
{
string keyword = textBoxSearch.Text;
SqlConnection conn = new SqlConnection(myconnectionString);
SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Table_Contact WHERE FirstName LIKE '%" + keyword + "%' OR LastName LIKE '%" + keyword + "%' OR Address LIKE '%" + keyword + "%'",conn);
DataTable dt = new DataTable();
sda.Fill(dt);
dataGridViewContactList.DataSource = dt;
}
bool mouseDown;
private Point offset;
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
offset.X = e.X;
offset.Y = e.Y;
mouseDown = true;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (mouseDown == true)
{
Point currentScreenPos = PointToScreen(e.Location);
Location = new Point(currentScreenPos.X - offset.X, currentScreenPos.Y - offset.Y);
}
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
mouseDown = false;
}
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EasyConnect.easyconnectClasses
{
class ConnectClass
{
public int ContactID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ContactNo { get; set; }
public string Address { get; set; }
public string Gender { get; set; }
static string myconnectionString = ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
public DataTable Select()
{
///Krok 1: Połączenie bazy
SqlConnection conn = new SqlConnection(myconnectionString);
DataTable dt = new DataTable();
try
{
//Krok 2: Tworzenie zapytania SQL
string sql = "SELECT * FROM Table_Contact";
//Tworzenie cmd przy użyciu sql i conn
SqlCommand cmd = new SqlCommand(sql, conn);
//Tworzenie SQL DataAdapter przy użyciu cmd
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
conn.Open();
adapter.Fill(dt);
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return dt;
}
//Wstawianie danych do bazy danych
public bool Insert (ConnectClass c)
{
//Tworzenie domyślnej intrukcji powrotu i ustawienie jej wartości na fałsz
bool isSucces = false;
//Krok 1: Połączenie bazy danych
SqlConnection conn = new SqlConnection(myconnectionString);
try
{
//Krok 2: Tworzenie zapytania SQL aby wstawic dane
string sql = "INSERT INTO Table_Contact (FirstName, LastName, ContactNo, Address, Gender) VALUES (@FirstName, @LastName, @ContactNo, @Address, @Gender)";
//Tworzenie komendy SQL przy użyciu sql i conn
SqlCommand cmd = new SqlCommand(sql, conn);
//Tworzenie parametrów
cmd.Parameters.AddWithValue("@FirstName", c.FirstName);
cmd.Parameters.AddWithValue("@LastName", c.LastName);
cmd.Parameters.AddWithValue("@ContactNo", c.ContactNo);
cmd.Parameters.AddWithValue("@Address", c.Address);
cmd.Parameters.AddWithValue("@Gender", c.Gender);
//Otwarte połączenie z bazą danych
conn.Open();
int rows = cmd.ExecuteNonQuery();
//Jeżeli zapytanie będzie prawdziwe to wartość bedzie wieksza od 0, w przeciwnym wypadku wartosc bedzie 0.
if (rows > 0)
{
isSucces = true;
}
else
{
isSucces = false;
}
}
catch(Exception)
{
}
finally
{
conn.Close();
}
return isSucces;
}
//Metoda do aktualizowania danych w naszej bazie
public bool Update(ConnectClass c)
{
//Tworzenie domyślnej intrukcji powrotu i ustawienie jej wartości na fałsz
bool isSuccess = false;
//Krok 1: Połączenie bazy danych
SqlConnection conn = new SqlConnection(myconnectionString);
try
{
//Tworzenie zapytania SQL do aktualizacji danych w bazie
string sql = "UPDATE Table_Contact SET FirstName=@FirstName, LastName=@LastName, ContactNo=@ContactNo, Address=@Address, Gender=@Gender WHERE ContactID=@ContactID";
//Tworzenie komendy SQL
SqlCommand cmd = new SqlCommand(sql, conn);
//Tworzenie parametrów w celu dodania wartości
cmd.Parameters.AddWithValue("@FirstName", c.FirstName);
cmd.Parameters.AddWithValue("@LastName", c.LastName);
cmd.Parameters.AddWithValue("@ContactNo", c.ContactNo);
cmd.Parameters.AddWithValue("@Address", c.Address);
cmd.Parameters.AddWithValue("@Gender", c.Gender);
cmd.Parameters.AddWithValue("@ContactID", c.ContactID);
//Otwarte połączenie z bazą danych
conn.Open();
int rows = cmd.ExecuteNonQuery();
//Jeżeli zapytanie będzie prawdziwe to wartość bedzie wieksza od 0, w przeciwnym wypadku wartosc bedzie 0.
if (rows > 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return isSuccess;
}
//Metoda do usuwania danych z bazy danych
public bool Delete(ConnectClass c)
{
//Tworzenie domyślnej intrukcji powrotu i ustawienie jej wartości na fałsz
bool isSuccess = false;
//Krok 1: Połączenie bazy danych
SqlConnection conn = new SqlConnection(myconnectionString);
try
{
//Tworzenie zapytania SQL do usuwania danych w bazie
string sql = "DELETE FROM Table_Contact WHERE ContactID=@ContactID";
//Tworzenie komendy SQL
SqlCommand cmd = new SqlCommand(sql, conn);
//Tworzenie parametrów w celu dodania wartości
cmd.Parameters.AddWithValue("@ContactID", c.ContactID);
//Otwarte połączenie z bazą danych
conn.Open();
int rows = cmd.ExecuteNonQuery();
//Jeżeli zapytanie będzie prawdziwe to wartość bedzie wieksza od 0, w przeciwnym wypadku wartosc bedzie 0.
if (rows > 0)
{
isSuccess = true;
}
else
{
isSuccess = false;
}
}
catch (Exception)
{
}
finally
{
conn.Close();
}
return isSuccess;
}
}
}
```C#