コード例 #1
0
        public void _0003_ShallowCopy()
        {
            MockClass1 source = new MockClass1().Default();
            MockClass1 target = MockClass1.DeepCopy(source);

            Assert.AreNotEqual(source.Hasi, target.Hasi);
            Assert.AreEqual(source.CarType, target.CarType);
            Assert.AreEqual(source.CarColor, target.CarColor);
            Assert.AreEqual(source.TestHandler, target.TestHandler);
            /*A MemberwiseClone-tól eltérően, ÚJ PÉLDÁNY!!! A kettő nemugyan az!!!*/
            Assert.AreNotEqual(source.TestItems.GetHashCode(), target.TestItems.GetHashCode());
            Assert.AreEqual(source.TestItems[0].ItemName, target.TestItems[0].ItemName);
            /*Ezek már nem ugyan azok!*/
            Assert.AreNotEqual(source.TestItems[0].Hasi, target.TestItems[0].Hasi);
        }
コード例 #2
0
        public void _0002_MemberwiseClone()
        {
            MockClass1 source = new MockClass1().Default();
            MockClass1 target = null;

            target = source.Clone() as MockClass1;
            Assert.AreEqual(source.CarType, target.CarType);
            Assert.AreEqual(source.CarColor, target.CarColor);
            Assert.AreNotEqual(source.Hasi, target.Hasi);
            /*NEM ÚJ PÉLDÁNY!!! A kettő ugyan az!!!*/
            Assert.AreEqual(source.TestItems.GetHashCode(), target.TestItems.GetHashCode());
            /*Mivel targert refencia ugyan az innentől kezdve minden ugyan az... */
            Assert.AreEqual(source.TestItems[0].ItemName, target.TestItems[0].ItemName);
            Assert.AreEqual(source.TestItems[0].Hasi, target.TestItems[0].Hasi);
        }
コード例 #3
0
        public void _0001_ManualCopyTo()
        {
            MockClass1 source = new MockClass1().Default();
            MockClass1 target = new MockClass1();

            source.CopyTo(target);
            Assert.AreNotEqual(source.Hasi, target.Hasi);
            Assert.AreEqual(source.TestItems[0].ItemName, target.TestItems[0].ItemName);

            /* Nem azonos a két lista mivel source és target két különböző példány,
             * nem rontom el a referenciát másoláskor a target példányba másolom az új értékeket.*/
            Assert.AreNotEqual(source.TestItems.GetHashCode(), target.TestItems.GetHashCode());

            /*Nem azons a két objektum mivel a copy-ban én hoztam létre új elemet*/
            Assert.AreNotEqual(source.TestItems[0].Hasi, target.TestItems[0].Hasi);
        }
コード例 #4
0
    public void ResolveWithInterface()
    {
        container.Register <IMockClass1, MockClass1>();
        container.Register <IMockClass2, MockClass2>();
        container.Register <IMockClass3, MockClass3>();

        MockClass1 mock1 = container.Resolve <IMockClass1>() as MockClass1;
        MockClass2 mock2 = container.Resolve <IMockClass2>() as MockClass2;
        MockClass3 mock3 = container.Resolve <IMockClass3>() as MockClass3;

        // Check that contructors have only been called once.
        Assert.AreEqual(1, MockClass1.constructorCalls);
        Assert.AreEqual(1, MockClass2.constructorCalls);
        Assert.AreEqual(1, MockClass3.constructorCalls);

        // Check that references in obejcts has been set with the correct references.
        Assert.IsNotNull(mock1.mock2);
        Assert.IsNotNull(mock1.mock3);
        Assert.IsNotNull(mock2.mock3);
        Assert.AreSame(mock1.mock2, mock2);
        Assert.AreSame(mock1.mock3, mock3);
        Assert.AreSame(mock1.mock3, mock2.mock3);
    }
コード例 #5
0
        public void IfFalse_WithTrue_CallFunctT_ReturnDefault()
        {
            MockClass1 result = true.IfFalse(x => new MockClass1());

            Assert.IsTrue(result == default(MockClass1));
        }
コード例 #6
0
        public void IfFalse_WithFalse_CallFunctT()
        {
            MockClass1 result = false.IfFalse(x => new MockClass1());

            Assert.IsNotNull(result);
        }
コード例 #7
0
 public void IfFalse_WithTrue_DoNotCallFuncT()
 {
     MockClass1 result = true.IfFalse(x => { Assert.Fail(); return(new MockClass1()); });
 }
コード例 #8
0
        public void IfTrue_WithFalse_DoNotCallFunctT_ReturnDefaultT()
        {
            MockClass1 result = false.IfTrue(x => new MockClass1());

            Assert.IsTrue(result == default(MockClass1));
        }
コード例 #9
0
        public void IfTrue_WithTrue_CallFunctT()
        {
            MockClass1 result = true.IfTrue(x => new MockClass1());

            Assert.IsNotNull(result);
        }