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; }
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); }
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); }
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()); }
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); }
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()); }