コード例 #1
0
        public void ChangeOwnerOfPossession_ChangesReflectedInGetPossessionsOfOwner()
        {
            var possession = new TestPossession();

            var ownerOne = new TestOwner();
            var ownerTwo = new TestOwner();

            var relationship = new PossessionRelationship <TestOwner, TestPossession>();

            relationship.ChangeOwnerOfPossession(possession, ownerOne);

            CollectionAssert.Contains(relationship.GetPossessionsOfOwner(ownerOne), possession,
                                      "OwnerOne does not have the possession");

            relationship.ChangeOwnerOfPossession(possession, ownerTwo);

            CollectionAssert.DoesNotContain(relationship.GetPossessionsOfOwner(ownerOne), possession,
                                            "OwnerOne incorrectly has the possession");
            CollectionAssert.Contains(relationship.GetPossessionsOfOwner(ownerTwo), possession,
                                      "OwnerTwo does not have the possession");

            relationship.ChangeOwnerOfPossession(possession, null);
            CollectionAssert.DoesNotContain(relationship.GetPossessionsOfOwner(ownerTwo), possession,
                                            "OwnerTwo falsely has the possession");
        }
コード例 #2
0
        public void ChangeOwnerOfPossession_ThrowsIfNotPermitted()
        {
            var possession = new TestPossession();

            var relationship = new PossessionRelationship <TestOwner, TestPossession>();

            Assert.Throws <InvalidOperationException>(() => relationship.ChangeOwnerOfPossession(possession, null),
                                                      "ChangeOwnerOfPossession did not throw correctly on an invalid request");
        }
コード例 #3
0
        public void CanChangeOwnerOfPossession_FalseIfAlreadyOwnedBy()
        {
            var possession = new TestPossession();

            var owner = new TestOwner();

            var relationship = new PossessionRelationship <TestOwner, TestPossession>();

            Assert.IsFalse(relationship.CanChangeOwnerOfPossession(possession, null),
                           "CanChangeOwnerOfPossession returned an unexpected value");

            relationship.ChangeOwnerOfPossession(possession, owner);

            Assert.IsFalse(relationship.CanChangeOwnerOfPossession(possession, owner),
                           "CanChangeOwnerOfPossession returned an unexpected value");
        }
コード例 #4
0
        public void ChangeOwnerOfPossession_ChangesReflectedInGetOwnerOfPossession()
        {
            var possession = new TestPossession();

            var ownerOne = new TestOwner();
            var ownerTwo = new TestOwner();

            var relationship = new PossessionRelationship <TestOwner, TestPossession>();

            relationship.ChangeOwnerOfPossession(possession, ownerOne);

            Assert.AreEqual(ownerOne, relationship.GetOwnerOfPossession(possession),
                            "GetOwnerOfPossession returned an unexpected value");

            relationship.ChangeOwnerOfPossession(possession, ownerTwo);

            Assert.AreEqual(ownerTwo, relationship.GetOwnerOfPossession(possession),
                            "GetOwnerOfPossession returned an unexpected value");

            relationship.ChangeOwnerOfPossession(possession, null);
            Assert.AreEqual(null, relationship.GetOwnerOfPossession(possession),
                            "GetOwnerOfPossession returned an unexpected value");
        }