Пример #1
0
        public void UnassignTooManyAutoFromReifenShouldThrowException()
        {
            Reifen reifen1 = new Reifen()
            {
                Id = 1
            };
            Reifen reifen2 = new Reifen()
            {
                Id = 2
            };
            Reifen reifen3 = new Reifen()
            {
                Id = 3
            };
            Reifen reifen4 = new Reifen()
            {
                Id = 4
            };
            Auto auto1 = new Auto()
            {
                Kennzeichen = "W-111"
            };

            Assert.IsNull(reifen1.Auto);
            Assert.IsNull(reifen2.Auto);
            Assert.IsNull(reifen3.Auto);
            Assert.IsNull(reifen4.Auto);
            Assert.IsTrue(auto1.Reifen.Count == 0);

            reifen1.Auto = auto1;
            reifen2.Auto = auto1;
            reifen3.Auto = auto1;
            reifen4.Auto = auto1;

            Assert.IsTrue(reifen1.Auto == auto1);
            Assert.IsTrue(reifen2.Auto == auto1);
            Assert.IsTrue(reifen3.Auto == auto1);
            Assert.IsTrue(reifen4.Auto == auto1);
            Assert.IsTrue(auto1.Reifen.Count == 4);
            Assert.IsTrue(auto1.Reifen[0] == reifen1);
            Assert.IsTrue(auto1.Reifen[1] == reifen2);
            Assert.IsTrue(auto1.Reifen[2] == reifen3);
            Assert.IsTrue(auto1.Reifen[3] == reifen4);

            reifen1.Auto = null;

            Assert.IsNull(reifen1.Auto);
            Assert.IsTrue(reifen2.Auto == auto1);
            Assert.IsTrue(reifen3.Auto == auto1);
            Assert.IsTrue(reifen4.Auto == auto1);
            Assert.IsTrue(auto1.Reifen.Count == 3);
            Assert.IsFalse(auto1.Reifen.Contains(reifen1));
            Assert.IsTrue(auto1.Reifen.Contains(reifen2));
            Assert.IsTrue(auto1.Reifen.Contains(reifen3));
            Assert.IsTrue(auto1.Reifen.Contains(reifen4));

            //should throw Exception
            reifen2.Auto = null;
        }
Пример #2
0
        public void RemoveTooManyReifenFromAutoShouldThrowException()
        {
            Reifen reifen1 = new Reifen()
            {
                Id = 1
            };
            Reifen reifen2 = new Reifen()
            {
                Id = 2
            };
            Reifen reifen3 = new Reifen()
            {
                Id = 3
            };
            Reifen reifen4 = new Reifen()
            {
                Id = 4
            };
            Auto auto1 = new Auto()
            {
                Kennzeichen = "W-111"
            };

            Assert.IsNull(reifen1.Auto);
            Assert.IsNull(reifen2.Auto);
            Assert.IsNull(reifen3.Auto);
            Assert.IsNull(reifen4.Auto);
            Assert.IsTrue(auto1.Reifen.Count == 0);

            auto1.AddReifen(reifen1);
            auto1.AddReifen(reifen2);
            auto1.AddReifen(reifen3);
            auto1.AddReifen(reifen4);

            Assert.IsTrue(reifen1.Auto == auto1);
            Assert.IsTrue(reifen2.Auto == auto1);
            Assert.IsTrue(reifen3.Auto == auto1);
            Assert.IsTrue(reifen4.Auto == auto1);
            Assert.IsTrue(auto1.Reifen.Count == 4);
            Assert.IsTrue(auto1.Reifen[0] == reifen1);
            Assert.IsTrue(auto1.Reifen[1] == reifen2);
            Assert.IsTrue(auto1.Reifen[2] == reifen3);
            Assert.IsTrue(auto1.Reifen[3] == reifen4);

            auto1.RemoveReifen(reifen1);

            Assert.IsNull(reifen1.Auto);
            Assert.IsTrue(reifen2.Auto == auto1);
            Assert.IsTrue(reifen3.Auto == auto1);
            Assert.IsTrue(reifen4.Auto == auto1);
            Assert.IsTrue(auto1.Reifen.Count == 3);
            Assert.IsFalse(auto1.Reifen.Contains(reifen1));
            Assert.IsTrue(auto1.Reifen.Contains(reifen2));
            Assert.IsTrue(auto1.Reifen.Contains(reifen3));
            Assert.IsTrue(auto1.Reifen.Contains(reifen4));

            //should throw Exception
            auto1.RemoveReifen(reifen2);
        }
Пример #3
0
        public void AddTooManyReifenToAutoShouldThrowException()
        {
            Reifen reifen1 = new Reifen()
            {
                Id = 1
            };
            Reifen reifen2 = new Reifen()
            {
                Id = 2
            };
            Reifen reifen3 = new Reifen()
            {
                Id = 3
            };
            Reifen reifen4 = new Reifen()
            {
                Id = 4
            };
            Reifen reifen5 = new Reifen()
            {
                Id = 5
            };
            Auto auto1 = new Auto()
            {
                Kennzeichen = "W-111"
            };

            Assert.IsNull(reifen1.Auto);
            Assert.IsNull(reifen2.Auto);
            Assert.IsNull(reifen3.Auto);
            Assert.IsNull(reifen4.Auto);
            Assert.IsNull(reifen5.Auto);
            Assert.IsTrue(auto1.Reifen.Count == 0);

            auto1.AddReifen(reifen1);
            auto1.AddReifen(reifen2);
            auto1.AddReifen(reifen3);
            auto1.AddReifen(reifen4);

            Assert.IsTrue(reifen1.Auto == auto1);
            Assert.IsTrue(reifen2.Auto == auto1);
            Assert.IsTrue(reifen3.Auto == auto1);
            Assert.IsTrue(reifen4.Auto == auto1);
            Assert.IsTrue(auto1.Reifen.Count == 4);
            Assert.IsTrue(auto1.Reifen[0] == reifen1);
            Assert.IsTrue(auto1.Reifen[1] == reifen2);
            Assert.IsTrue(auto1.Reifen[2] == reifen3);
            Assert.IsTrue(auto1.Reifen[3] == reifen4);

            //should throw Exception
            auto1.AddReifen(reifen5);
        }
Пример #4
0
        public void RemoveReifen(Reifen reifen)
        {
            //FieldInfo field = this.GetType().GetField("_reifen", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
            //Multiplicity multiplicity = field.GetCustomAttributes(typeof(Multiplicity), false).FirstOrDefault() as Multiplicity;
            //int? minCount, maxCount;
            //GetMinMaxCount(multiplicity, out minCount, out maxCount);

            //if (!minCount.HasValue || _reifen.Count > minCount.Value)
            //{
            //   _reifen.Remove(reifen);
            //}
            //else
            //{
            //   throw new UMLOutOfBoundsException("LowerBound " + minCount.Value + " reached!");
            //}

            //reifen.NotifyChanges(this, reifen, _reifen, UMLNotficationType.DELETE, field.GetCustomAttributes(typeof(ConnectedWithRole), false).Select(x => x as ConnectedWithRole).ToList());
        }
Пример #5
0
        public void AssignAutoToReifen()
        {
            Reifen reifen1 = new Reifen()
            {
                Id = 1
            };
            Auto auto1 = new Auto()
            {
                Kennzeichen = "W-111"
            };

            Assert.IsNull(reifen1.Auto);
            Assert.IsTrue(auto1.Reifen.Count == 0);

            reifen1.Auto = auto1;

            Assert.IsTrue(reifen1.Auto == auto1);
            Assert.IsTrue(auto1.Reifen.Count == 1);
            Assert.IsTrue(auto1.Reifen[0] == reifen1);
        }
Пример #6
0
        public void AddReifen(Reifen reifen)
        {
            //FieldInfo field = this.GetType().GetField("_reifen", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
            //Multiplicity multiplicity = field.GetCustomAttributes(typeof(Multiplicity), false).FirstOrDefault() as Multiplicity;
            //int? minCount, maxCount;
            //GetMinMaxCount(multiplicity, out minCount, out maxCount);

            //HashSet<Reifen> oldValue = new HashSet<Reifen>(_reifen);

            //if (!maxCount.HasValue || _reifen.Count < maxCount.Value)
            //{
            //   _reifen.Add(reifen);
            //}
            //else
            //{
            //   throw new UMLOutOfBoundsException("UpperBound " + maxCount.Value + " reached!");
            //}

            ////bei 1-n Beziehung --> UMLNotficationType.SET
            //reifen.NotifyChanges(this, oldValue, _reifen, UMLNotficationType.SET, field.GetCustomAttributes(typeof(ConnectedWithRole), false).Select(x => x as ConnectedWithRole).ToList());
        }