@@ -0,0 +1,1254 @@
+package ca.wolfram.beta.symath;%0A%0Aimport org.junit.Before;%0Aimport org.junit.Test;%0A%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.fail;%0A%0A/**%0A * Created by Allan Wang on 2017-05-09.%0A */%0Apublic class VMapTest %7B%0A%0A    private VMap map;%0A%0A    @Before%0A    public void init() %7B%0A        map = new VMap();%0A    %7D%0A%0A    @Test%0A    public void put() %7B%0A        map.put(%22PI%22, Math.PI);%0A        map.put(%22PI%22, Math.PI, true); //exception should not be thrown%0A        try %7B%0A            map.put(%22PI%22, 3.14, true);%0A            fail(%22PI cannot be remapped to a different double%22);%0A        %7D catch (Exception e) %7B%0A            //error was thrown%0A        %7D%0A        assertEquals(%22PI should have value of Math.PI%22, Math.PI, map.get(%22PI%22), 0.0001);%0A    %7D%0A%0A    @Test%0A    public void get() %7B%0A        map.put(%22PI%22, Math.PI);%0A        assertEquals(%22PI should have value of Math.PI%22, Math.PI, map.get(%22PI%22), 0.0001);%0A    %7D%0A%0A    @Test%0A    public void getWithDefault() %7B%0A        assertEquals(%22a should == 3%22, 3, map.get(%22a%22, 3), 0.0001);%0A    %7D%0A%0A    @Test%0A    public void getWithError() %7B%0A        try %7B%0A            map.get(%22a%22, %22var not defined%22);%0A            fail(%22a was not defined%22);%0A        %7D catch (Exception e) %7B%0A            //error caught%0A        %7D%0A    %7D%0A%7D%0A

Create VMap testers