public static void UsporedbaOsoba(Osoba osobaA, Osoba osobaB)
        {
            Console.WriteLine(osobaA);
            Console.WriteLine(osobaB);

            try
            {
                Console.WriteLine(osobaA.Equals(osobaB));
            }
            catch (NullReferenceException)
            {
                Console.WriteLine("POGREŠKA: osobaA je null referenca pa nema metodu Equals!");
            }
            try
            {
                Console.WriteLine(osobaB.Equals(osobaA));
            }
            catch (NullReferenceException)
            {
                Console.WriteLine("POGREŠKA: osobaB je null referenca pa nema metodu Equals!");
            }

            // poziv statičke metode
            Console.WriteLine(Osoba.Equals(osobaA, osobaB));

            Console.WriteLine(Osoba.ReferenceEquals(osobaA, osobaB));
        }
        public static void UsporedbaOsoba(Osoba osobaA, Osoba osobaB)
        {
            Console.WriteLine(osobaA);
            Console.WriteLine(osobaB);

            Console.WriteLine(osobaA.Equals(osobaB));
            Console.WriteLine(osobaB.Equals(osobaA));
        }
        public static void UsporedbaOsoba(Osoba osobaA, Osoba osobaB)
        {
            Console.WriteLine(osobaA);
            Console.WriteLine(osobaB);

            Console.WriteLine(osobaA.Equals(osobaB));
            Console.WriteLine(osobaB.Equals(osobaA));
        }
        public void EqualsZaReferentniTip_UsporedbaSNullReferencomVraćaFalse()
        {
            Osoba o1 = new Osoba("Janko", 1);
            Osoba o2 = null;

            Assert.IsFalse(o1.Equals(o2));
            Assert.IsFalse(Osoba.Equals(o1, o2));
            Assert.IsFalse(Osoba.ReferenceEquals(o1, o2));
        }
        public void EqualsZaReferentniTip_UsporedbaReferenciNaIstiObjektUvijekVraćaTrue()
        {
            Osoba o1 = new Osoba("Janko", 1);
            Osoba o2 = o1;

            Assert.IsTrue(o1.Equals(o2));
            Assert.IsTrue(o2.Equals(o1));
            Assert.IsTrue(Osoba.Equals(o1, o2));
            Assert.IsTrue(Osoba.ReferenceEquals(o1, o2));
        }
        public void EqualsZaReferentniTip_UsporedbaDvijuOsobaSRazličitimImenimaRazličitimMatičnimBrojemVraćaFalse()
        {
            Osoba o1 = new Osoba("Janko", 1);
            Osoba o2 = new Osoba("Marko", 2);

            Assert.IsFalse(o1.Equals(o2));
            Assert.IsFalse(o2.Equals(o1));
            Assert.IsFalse(Osoba.Equals(o1, o2));
            Assert.IsFalse(Osoba.ReferenceEquals(o1, o2));
        }
        static void Main(string[] args)
        {
            // dvije osobe
            Osoba osobaA = new Osoba("Janko", 1);
            Osoba osobaB = osobaA;
            Debug.Assert(osobaA.Equals(osobaB));

            osobaB.m_ime = "Marko";
            Debug.Assert(osobaA.Equals(osobaB) == false);

            // kloniramo
            osobaB = osobaA.Clone();
            Debug.Assert(osobaA.Equals(osobaB));

            osobaB.m_ime = "Pero";
            Debug.Assert(osobaA.Equals(osobaB) == false);

            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            // dvije osobe s različitim imenima i MB
            Osoba osobaA = new Osoba("Janko", 1);
            Osoba osobaB = new Osoba("Darko", 2);
            Debug.Assert(osobaA.Equals(osobaB) == false);

            // novi "Janko" s drugim matičnim brojem
            osobaB = new Osoba("Janko", 2);
            Debug.Assert(osobaA.Equals(osobaB) == false);

            // novi "Janko" s istim matičnim brojem
            osobaB = new Osoba("Janko", 1);
            Debug.Assert(osobaA.Equals(osobaB) == true);

            osobaB = osobaA;
            Debug.Assert(osobaA.Equals(osobaB) == true);

            Console.ReadLine();
        }
示例#9
0
 public static bool operator==(Osoba a, Osoba b)
 {
     return(Osoba.Equals(a, b));
 }