public virtual void testAddAll() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); JDFAttributeMap m3 = new JDFAttributeMap(m1); m3.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); VJDFAttributeMap v2 = new VJDFAttributeMap(); v2.Add(m2); v2.Add(m3); v.addAll(v2); Assert.AreEqual(4, v.Count); Assert.IsTrue(v.Contains(m1)); Assert.IsTrue(v.Contains(m2)); Assert.IsTrue(v.Contains(m3)); }
public virtual void testCopy() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); VJDFAttributeMap v2 = new VJDFAttributeMap(); v2.Add(new JDFAttributeMap(m1)); VJDFAttributeMap v3 = new VJDFAttributeMap(v2); Assert.AreEqual(v3, v2); }
/// /// <summary> * Appends all the specified elements to the end of this Vector /// * </summary> /// * <param name="obj"> the given element </param> /// public virtual void addAll(VJDFAttributeMap obj) { if (obj != null) { for (int i = 0; i < obj.Count; i++) { m_vec.Add(obj[i]); } } }
/// /// <summary> * copy constructor - clones the vector including the contents! /// * </summary> /// * <param name="v"> the VJDFAttributeMap to copy </param> /// public VJDFAttributeMap(VJDFAttributeMap v) { if (v != null) { Clear(); int size = v.Count; for (int i = 0; i < size; i++) { Add(new JDFAttributeMap(v[i])); } } }
public virtual void testShowKeys() { JDFAttributeMap m1 = new JDFAttributeMap(); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); m2.put("a3", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); Assert.AreEqual("[0](a2 = v2)-[1](a2 = v3) (a3 = v3)", v.showKeys("-", " ")); }
/// /// <summary> * Method subMap. /// * </summary> /// * <param name="vMap"> the vector submaps to check against </param> /// * <returns> true if this has at least one entry that vMap contains at least a submap of </returns> /// public virtual bool subMap(VJDFAttributeMap vMap) { if (vMap == null) { return(true); } for (int i = 0; i < vMap.Count; i++) { if (subMap(vMap[i])) { return(true); } } return(false); }
public virtual void testOverlapsMap() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); Assert.IsTrue(v.overlapsMap(m1)); Assert.IsFalse(v.overlapsMap(new JDFAttributeMap("a2", "v4"))); }
public virtual void testPut() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); VJDFAttributeMap v2 = new VJDFAttributeMap(); v2.Add(m1); VJDFAttributeMap v3 = new VJDFAttributeMap(v2); Assert.AreEqual(v3, v2); v3.put("a2", "b"); m1.put("a2", "b"); Assert.AreEqual(v2, v3); VJDFAttributeMap v4 = new VJDFAttributeMap((VJDFAttributeMap)null); v4.put("a1", "b1"); Assert.AreEqual(1, v4.Count); }
/// /// <summary> * reduce each JDFAttributeMap in <code>this</code> by keySet /// * </summary> /// * <param name="keySet"> </param> /// public virtual void reduceMap(ICollection <string> keySet) { VJDFAttributeMap v = new VJDFAttributeMap(); for (int i = 0; i < m_vec.Count; i++) { JDFAttributeMap map = m_vec[i]; bool bNullMap = map.IsEmpty(); map.reduceMap(keySet); if (bNullMap || !map.IsEmpty()) { v.appendUnique(map); } } m_vec = v.getVector(); }
public virtual void reduceKey(ICollection <string> vKeys) { VJDFAttributeMap v = new VJDFAttributeMap(); for (int i = 0; i < m_vec.Count; i++) { JDFAttributeMap map = m_vec[i]; map.reduceMap(vKeys); if (!map.IsEmpty()) { v.appendUnique(map); } } m_vec = v.getVector(); }
public virtual void testClone() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap((VJDFAttributeMap)null); v.Add(m1); v.Add(m2); VJDFAttributeMap v2 = new VJDFAttributeMap(v); Assert.AreEqual(v2, v); m1.put("a3", "a4"); Assert.AreNotEqual(v2, v, "modification did not migrate!"); }
/// /// <summary> * Method overlapMap. /// * </summary> /// * <param name="vMap"> the vector submaps to check against </param> /// * <returns> true if this has at least one entry that vMap contains at least a submap or supermap of </returns> /// public virtual bool overlapMap(VJDFAttributeMap vMap) { if (vMap == null) { return(true); } int size = vMap.Count; for (int i = 0; i < size; i++) { if (overlapMap(vMap[i])) { return(true); } } return(false); }
public virtual void testReduceMap() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); VJDFAttributeMap v2 = new VJDFAttributeMap(); v2.Add(new JDFAttributeMap(m1)); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); VString vs = new VString("a1", " "); v.reduceMap(vs.getSet()); Assert.AreEqual(v2, v); }
public virtual void testEquals() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); VJDFAttributeMap v2 = new VJDFAttributeMap(); v2.Add(m2); v2.Add(m1); Assert.AreEqual(v2, v, "mixed ordering"); v2.Add(m1); Assert.AreNotEqual(v2, v, "mixed ordering -other cardinality "); }
public virtual void testUnify() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); JDFAttributeMap m3 = new JDFAttributeMap(m1); m3.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); v.Add(m3); v.unify(); Assert.AreEqual(2, v.Count); Assert.IsTrue(v.Contains(m1)); Assert.IsTrue(v.Contains(m2)); Assert.IsTrue(v.Contains(m3)); v.Add(m1); v.Add(m2); v.Add(m3); v.Add(m1); v.Add(m2); v.Add(m3); v.unify(); Assert.AreEqual(2, v.Count); Assert.IsTrue(v.Contains(m1)); Assert.IsTrue(v.Contains(m2)); Assert.IsTrue(v.Contains(m3)); v.Add(null); v.unify(); Assert.AreEqual(3, v.Count); Assert.IsTrue(v.Contains(m1)); Assert.IsTrue(v.Contains(m2)); Assert.IsTrue(v.Contains(m3)); Assert.IsTrue(v.Contains(null)); }
public virtual void testSubMap() { JDFAttributeMap m1 = new JDFAttributeMap("a1", "v1"); m1.put("a2", "v2"); JDFAttributeMap m2 = new JDFAttributeMap(m1); m2.put("a2", "v3"); VJDFAttributeMap v = new VJDFAttributeMap(); v.Add(m1); v.Add(m2); Assert.IsTrue(v.subMap(m1)); Assert.IsTrue(v.subMap(m2)); v.put("a3", "v4"); JDFAttributeMap m3 = new JDFAttributeMap(m1); Assert.IsTrue(v.subMap(m3)); m3.put("a3", "v5"); Assert.IsFalse(v.subMap(m3)); }
/// /// <summary> * equals - Compares two map vectors, returns true if content equal regardless of element order, otherwise false.<br> /// * If input is not of type VJDFAttributeMap, result of superclasses equals method is returned. /// * </summary> /// * <param name="other"> in this case VJDFAttributeMap to compare /// * </param> /// * <returns> boolean - true if the maps are equal, otherwise false </returns> /// public override bool Equals(object other) { if (this == other) { return(true); } if (other == null) { return(false); } if (!(other is VJDFAttributeMap)) { return(false); } int size = Count; if (size != ((VJDFAttributeMap)other).Count) { return(false); } VJDFAttributeMap vOther = new VJDFAttributeMap((JDFAttributeMap[])((VJDFAttributeMap)other).getVector().ToArray()); for (int i = 0; i < size; i++) { JDFAttributeMap map = this[i]; int index = vOther.IndexOf(map); if (index < 0) { return(false); } vOther.RemoveAt(index); } return(true); }
/// /// <summary> * Method appendUnique. /// * </summary> /// * <param name="map"> maps to append </param> /// public virtual void appendUnique(VJDFAttributeMap map) { addAll(map); unify(); }