public void RaiseIfSetAlreadyKey() { Map map = new Map(new object[] { new Atom("a"), new Atom("b"), new Atom("c") }, new object[] { 1, 2, 3 }); try { map.SetNewKeyValues(new object[] { new Atom("d"), new Atom("a") }, new object[] { 4, 5 }); Assert.Fail(); } catch (Exception ex) { Assert.AreEqual("already defined key a", ex.Message); } }
public void SetNewKeyValues() { Map map = new Map(new object[] { new Atom("a"), new Atom("b"), new Atom("c") }, new object[] { 1, 2, 3 }); Map newmap = map.SetNewKeyValues(new object[] { new Atom("d"), new Atom("e") }, new object[] { 4, 5 }); Assert.AreEqual(1, map.GetValue(new Atom("a"))); Assert.AreEqual(2, map.GetValue(new Atom("b"))); Assert.AreEqual(3, map.GetValue(new Atom("c"))); Assert.AreEqual(1, newmap.GetValue(new Atom("a"))); Assert.AreEqual(2, newmap.GetValue(new Atom("b"))); Assert.AreEqual(3, newmap.GetValue(new Atom("c"))); Assert.AreEqual(4, newmap.GetValue(new Atom("d"))); Assert.AreEqual(5, newmap.GetValue(new Atom("e"))); }