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