Exemple #1
0
        public void ValueSetUnitWhenNewWithDeletedUnit()
        {
            EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>();

            Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation.");

            EAVModelLibrary.ModelUnit aUnit = new EAVModelLibrary.ModelUnit()
            {
                UnitID = rng.Next()
            };

            aUnit.MarkUnmodified();
            Assert.AreEqual(EAV.Model.ObjectState.Unmodified, aUnit.ObjectState, "Object state for 'Unit' object failed to transition to 'Unmodified'.");

            aUnit.MarkDeleted();
            Assert.AreEqual(EAV.Model.ObjectState.Deleted, aUnit.ObjectState, "Object state for 'Unit' object failed to transition to 'Deleted'.");

            aValue.Unit = aUnit;
        }
Exemple #2
0
        public void ValueSetUnitWhenNewWithUnmodifiedUnit()
        {
            EAV.Model.IModelValue aValue = factory.Create <EAV.Model.IModelValue>();

            Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should be 'New' on creation.");

            EAVModelLibrary.ModelUnit aUnit = new EAVModelLibrary.ModelUnit()
            {
                UnitID = rng.Next()
            };

            aUnit.MarkUnmodified();
            Assert.AreEqual(EAV.Model.ObjectState.Unmodified, aUnit.ObjectState, "Object state for 'Unit' object failed to transition to 'Unmodified'.");

            aValue.Unit = aUnit;

            Assert.AreEqual(aUnit, aValue.Unit, "Property 'Unit' was not set properly.");
            Assert.AreEqual(aUnit.UnitID, aValue.UnitID, "Property 'UnitID' was not reported properly.");
            Assert.AreEqual(EAV.Model.ObjectState.New, aValue.ObjectState, "Object state should remain 'New' when property set.");
            Assert.AreEqual(EAV.Model.ObjectState.Unmodified, aUnit.ObjectState, String.Format("Object state for Unit object incorrectly transitioned to '{0}' when 'Unit' property set.", aUnit.ObjectState));
        }