Odwołanie do metody w innym pliku

0

Witam.
Posiadam metodę Clear() w pliku EasyConnect i potrzebuję ją użyć w pliku EasyConnectTestyJednostkowe. Robiłem już wszystkie rzeczy, które przychodzą mi do głowy, pytałem znajomych, ale nikt nie jest mi w stanie pomóc. Za każdym razem jak próbuje wywołać tę funkcję to jest "nazwa Clear nie istnieje w bieżącym kontekście". Jakieś rady jak rozwiązać problem?

using EasyConnect.easyconnectClasses;
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms;


namespace EasyConnect
{
    /// <summary>
    /// Główna klasa EasyConnect, która zawiera wszystkie metody.
    /// </summary>
   
    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;
        }
        
        /// <summary>
        /// Metoda, która dodaje funkcje dodawania osoby do bazy danych przy pomocy przycisku "Dodaj".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public 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;

            if (textBoxContactNumber.Text.Length == 9)
            {
                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.");
                }
            }
            else
            {
                MessageBox.Show("Numer jest za krótki lub za długi.");
            }
            DataTable dt = c.Select();
            dataGridViewContactList.DataSource = dt;

        }

        /// <summary>
        /// Metoda, która zamyka program poprzez przyciśnięcie przycisku "X".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        /// <summary>
        /// Metoda do czyszczenia danych po lewej stronie.
        /// </summary>
       
        public void Clear()
        {
            textBoxContactID.Text = "";
            textBoxFirstName.Text = "";
            textBoxLastName.Text = "";
            textBoxContactNumber.Text = "";
            textBoxAddress.Text = "";
            comboBoxGender.Text = "";
        }
```c#

```c#
using Microsoft.VisualStudio.TestTools.UnitTesting;
using EasyConnect;
using EasyConnectTestyJednostkowe;
using System;

namespace EasyConnectTestyJednostkowe
{
    [TestClass]
    public class EasyConnectTestyJednostkowe
    {
        [TestMethod]
        public void TestCzyszczeniaPol()
        {
           
            string Id = "1";
            string Imie = "Arek";
            string Nazwisko = "Kowalski";
            string NumerTelefonu = "694467282";
            string Adres = "Polska 334";
            string Plec = "Male";
            string CzystePole = "";

            

            Clear();

            
        }

    }
}

```c#
0

Nic dziwnego bo klasa EasyConnectTestyJednostkowe nie posiada metody Clear. Musiałbyś utworzyć najpierw obiekt klasy EasyConnect. Ale nie jestem pewien czy uda Ci się to tak przetestować skoro EasyConnect dziedziczy z Form.

0

A nie da rady żeby EasyConnectTestyJednostkowe też dziedziczyło z Form?

1

Co właściwie chcesz przetestować w tej metodzie?

0

Czy po wykonaniu metody pola, w których są wpisane jakieś dane są puste.

0

Coś takiego zrobiłem, ale teraz jest taki błąd:
"Element EasyConnect to element przestrzeni nazw, ale jest używany jak element typ"

            string Id = "1";
            string Imie = "Arek";
            string Nazwisko = "Kowalski";
            string NumerTelefonu = "694467282";
            string Adres = "Polska 334";
            string Plec = "Male";
            string CzystePole = "";

            //Clear();
            EasyConnect easyConnect = new EasyConnect();
            easyConnect.Clear();
0

Zrobiłem projekt od nowa, przekopiowałem kilka rzeczy i teraz nie mam żadnego błędu tylko jeszcze jednej rzeczy nie wiem.
Jak napisać linijkę z instrukcją Assert tak żeby test jednostkowy wyszedł pozytywnie. Tak, że po metodzie Clear() w miejscu np. Id będzie puste pole?

using EasyConnect;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EasyConnect.Tests
{
    [TestClass]
    public class EasyConnectTests
    {
        [TestMethod]
        public void ClearTest()
        {
            string Id = "1";
            string Imie = "Arek";
            string Nazwisko = "Kowalski";
            string NumerTelefonu = "694467282";
            string Adres = "Polska 334";
            string Plec = "Male";

            //Clear();
            EasyConnect easyConnect = new EasyConnect();
            easyConnect.Clear();


            Assert.AreEqual("", Id);
            Assert.AreEqual("", Imie);
            Assert.AreEqual("", Nazwisko);
            Assert.AreEqual("", NumerTelefonu);
            Assert.AreEqual("", Adres);
            Assert.AreEqual("", Plec);
        }
    }
}

0

Przecież w żaden sposób nie modyfikujesz swojego Id, więc dlaczego miałby być pusty? Ten EasyConnect nawet go nie używa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1