timport test functionality consistent with changes between Julia 0.6 and 0.7 - Granular.jl - Julia package for granular dynamics simulation
 (HTM) git clone git://src.adamsgaard.dk/Granular.jl
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 1ef10198e9a36314483365fe474c903b453254c0
 (DIR) parent b891256168049fe1cea68f7e008c45b5a11d7b23
 (HTM) Author: Anders Damsgaard <andersd@riseup.net>
       Date:   Thu,  9 Nov 2017 10:09:43 -0600
       
       import test functionality consistent with changes between Julia 0.6 and 0.7
       
       Diffstat:
         M test/atmosphere.jl                  |      84 ++++++++++++++++----------------
         M test/cohesion.jl                    |      14 +++++++-------
         M test/collision-2floes-normal.jl     |      40 ++++++++++++++++----------------
         M test/collision-2floes-oblique.jl    |     188 ++++++++++++++++----------------
         M test/collision-5floes-normal.jl     |      70 ++++++++++++++++----------------
         M test/contact-search-and-geometry.jl |     224 ++++++++++++++++----------------
         M test/grain.jl                       |      24 ++++++++++++------------
         M test/grid-boundaries.jl             |      94 ++++++++++++++++----------------
         M test/grid.jl                        |     278 +++++++++++++++---------------
         M test/memory-management.jl           |      68 ++++++++++++++++----------------
         M test/netcdf.jl                      |      52 ++++++++++++++++----------------
         M test/ocean.jl                       |      92 ++++++++++++++++----------------
         M test/packing.jl                     |      20 ++++++++++----------
         M test/profiling.jl                   |      19 ++++++++++++-------
         M test/runtests.jl                    |       6 ++++++
         M test/temporal.jl                    |      14 +++++++-------
         M test/util.jl                        |      32 ++++++++++++++++----------------
         M test/vtk.jl                         |      24 ++++++++++++------------
       
       18 files changed, 677 insertions(+), 666 deletions(-)
       ---
 (DIR) diff --git a/test/atmosphere.jl b/test/atmosphere.jl
       t@@ -8,20 +8,20 @@ info("#### $(basename(@__FILE__)) ####")
        info("Testing regular grid generation")
        sim = Granular.createSimulation()
        sim.atmosphere = Granular.createRegularAtmosphereGrid([6, 6, 6], [1., 1., 1.])
       -Test.@test size(sim.atmosphere.xq) == (7, 7)
       -Test.@test size(sim.atmosphere.yq) == (7, 7)
       -Test.@test size(sim.atmosphere.xh) == (6, 6)
       -Test.@test size(sim.atmosphere.yh) == (6, 6)
       -Test.@test sim.atmosphere.xq[1, :, 1] ≈ zeros(7)
       -Test.@test sim.atmosphere.xq[4, :, 1] ≈ .5*ones(7)
       -Test.@test sim.atmosphere.xq[end, :, 1] ≈ 1.*ones(7)
       -Test.@test sim.atmosphere.yq[:, 1, 1] ≈ zeros(7)
       -Test.@test sim.atmosphere.yq[:, 4, 1] ≈ .5*ones(7)
       -Test.@test sim.atmosphere.yq[:, end, 1] ≈ 1.*ones(7)
       -Test.@test size(sim.atmosphere.u) == (7, 7, 6, 1)
       -Test.@test size(sim.atmosphere.v) == (7, 7, 6, 1)
       -Test.@test sim.atmosphere.u ≈ zeros(7, 7, 6, 1)
       -Test.@test sim.atmosphere.v ≈ zeros(7, 7, 6, 1)
       +@test size(sim.atmosphere.xq) == (7, 7)
       +@test size(sim.atmosphere.yq) == (7, 7)
       +@test size(sim.atmosphere.xh) == (6, 6)
       +@test size(sim.atmosphere.yh) == (6, 6)
       +@test sim.atmosphere.xq[1, :, 1] ≈ zeros(7)
       +@test sim.atmosphere.xq[4, :, 1] ≈ .5*ones(7)
       +@test sim.atmosphere.xq[end, :, 1] ≈ 1.*ones(7)
       +@test sim.atmosphere.yq[:, 1, 1] ≈ zeros(7)
       +@test sim.atmosphere.yq[:, 4, 1] ≈ .5*ones(7)
       +@test sim.atmosphere.yq[:, end, 1] ≈ 1.*ones(7)
       +@test size(sim.atmosphere.u) == (7, 7, 6, 1)
       +@test size(sim.atmosphere.v) == (7, 7, 6, 1)
       +@test sim.atmosphere.u ≈ zeros(7, 7, 6, 1)
       +@test sim.atmosphere.v ≈ zeros(7, 7, 6, 1)
        
        info("Testing velocity drag interaction (static atmosphere)")
        Granular.addGrainCylindrical!(sim, [.5, .5], .25, .1)
       t@@ -34,10 +34,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       -Test.@test E_kin_lin_init > E_kin_lin_final  # linear velocity lost due to atmos drag
       -Test.@test sim.grains[1].atmosphere_stress[1] < 0.
       -Test.@test sim.grains[1].atmosphere_stress[2] ≈ 0.
       +@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       +@test E_kin_lin_init > E_kin_lin_final  # linear velocity lost due to atmos drag
       +@test sim.grains[1].atmosphere_stress[1] < 0.
       +@test sim.grains[1].atmosphere_stress[2] ≈ 0.
        
        info("Testing velocity drag interaction (static ice floe)")
        sim = deepcopy(sim_init)
       t@@ -47,10 +47,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       -Test.@test E_kin_lin_init < E_kin_lin_final  # linear vel. gained due to atmos drag
       -Test.@test sim.grains[1].atmosphere_stress[1] ≈ 0.
       -Test.@test sim.grains[1].atmosphere_stress[2] > 0.
       +@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       +@test E_kin_lin_init < E_kin_lin_final  # linear vel. gained due to atmos drag
       +@test sim.grains[1].atmosphere_stress[1] ≈ 0.
       +@test sim.grains[1].atmosphere_stress[2] > 0.
        
        info("Testing vortex interaction (static atmosphere)")
        sim = deepcopy(sim_init)
       t@@ -60,10 +60,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_rot_init > E_kin_rot_final  # energy lost to atmosphere
       -Test.@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test E_kin_rot_init > E_kin_rot_final  # energy lost to atmosphere
       +@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        info("Testing vortex interaction (static ice floe)")
        sim = deepcopy(sim_init)
       t@@ -77,10 +77,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = deepcopy(sim_init)
        sim.atmosphere = Granular.createRegularAtmosphereGrid([1, 1, 1], [1., 1., 1.])
       t@@ -93,10 +93,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = deepcopy(sim_init)
        sim.atmosphere = Granular.createRegularAtmosphereGrid([1, 1, 1], [1., 1., 1.])
       t@@ -109,10 +109,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = deepcopy(sim_init)
        sim.atmosphere = Granular.createRegularAtmosphereGrid([1, 1, 1], [1., 1., 1.])
       t@@ -125,10 +125,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to atm vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = Granular.createSimulation()
        sim.atmosphere = Granular.createRegularAtmosphereGrid([6, 6, 6], [1., 1., 1.])
 (DIR) diff --git a/test/cohesion.jl b/test/cohesion.jl
       t@@ -19,7 +19,7 @@ sim = deepcopy(sim_init)
        Granular.setTotalTime!(sim, 10.)
        sim.time_step = 1.
        Granular.run!(sim, verbose=verbose)
       -Test.@test sim.grains[1].contact_age[1] ≈ sim.time
       +@test sim.grains[1].contact_age[1] ≈ sim.time
        
        info("# Check if bonds add tensile strength")
        sim = Granular.createSimulation(id="cohesion")
       t@@ -29,9 +29,9 @@ sim.grains[1].lin_vel[1] = 0.1
        Granular.setTimeStep!(sim)
        Granular.setTotalTime!(sim, 10.)
        Granular.run!(sim, verbose=verbose)
       -Test.@test sim.grains[1].lin_vel[1] > 0.
       -Test.@test sim.grains[1].lin_vel[2] ≈ 0.
       -Test.@test sim.grains[2].lin_vel[1] > 0.
       -Test.@test sim.grains[2].lin_vel[2] ≈ 0.
       -Test.@test sim.grains[1].ang_vel ≈ 0.
       -Test.@test sim.grains[2].ang_vel ≈ 0.
       +@test sim.grains[1].lin_vel[1] > 0.
       +@test sim.grains[1].lin_vel[2] ≈ 0.
       +@test sim.grains[2].lin_vel[1] > 0.
       +@test sim.grains[2].lin_vel[2] ≈ 0.
       +@test sim.grains[1].ang_vel ≈ 0.
       +@test sim.grains[2].ang_vel ≈ 0.
 (DIR) diff --git a/test/collision-2floes-normal.jl b/test/collision-2floes-normal.jl
       t@@ -31,8 +31,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
       t@@ -44,8 +44,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -58,8 +58,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("# Ice floes free to move")
       t@@ -86,8 +86,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
       t@@ -99,8 +99,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -113,8 +113,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("# Adding contact-normal viscosity")
       t@@ -146,8 +146,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -160,8 +160,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("# Ice floes free to move")
       t@@ -191,8 +191,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -205,5 +205,5 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
 (DIR) diff --git a/test/collision-2floes-oblique.jl b/test/collision-2floes-oblique.jl
       t@@ -35,8 +35,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
       t@@ -48,8 +48,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -61,8 +61,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor", verbose=verb
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        info("# Ice floes free to move")
        
       t@@ -90,8 +90,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
       t@@ -103,8 +103,8 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -117,8 +117,8 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        
        info("## Contact-normal elasticity and tangential viscosity and friction")
       t@@ -137,13 +137,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Two-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos ≈ 0.
       -Test.@test sim.grains[2].ang_vel ≈ 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos ≈ 0.
       +@test sim.grains[2].ang_vel ≈ 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol
        
        info("mu_d = 0.")
        sim = deepcopy(sim_init)
       t@@ -156,13 +156,13 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos ≈ 0.
       -Test.@test sim.grains[1].ang_vel ≈ 0.
       -Test.@test sim.grains[2].ang_pos ≈ 0.
       +@test sim.grains[1].ang_pos ≈ 0.
       +@test sim.grains[1].ang_vel ≈ 0.
       +@test sim.grains[2].ang_pos ≈ 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -172,13 +172,13 @@ info("Relative tolerance: $(tol*100.)%")
        Granular.run!(sim, temporal_integration_method="Two-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos ≈ 0.
       -Test.@test sim.grains[2].ang_vel ≈ 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos ≈ 0.
       +@test sim.grains[2].ang_vel ≈ 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -189,13 +189,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos ≈ 0.
       -Test.@test sim.grains[2].ang_vel ≈ 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos ≈ 0.
       +@test sim.grains[2].ang_vel ≈ 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol
        
        info("# Ice floes free to move")
        
       t@@ -222,13 +222,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Two-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -240,7 +240,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -251,13 +251,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("# Ice floes free to move, mirrored")
       t@@ -285,13 +285,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Two-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos > 0.
       -Test.@test sim.grains[1].ang_vel > 0.
       -Test.@test sim.grains[2].ang_pos > 0.
       -Test.@test sim.grains[2].ang_vel > 0.
       +@test sim.grains[1].ang_pos > 0.
       +@test sim.grains[1].ang_vel > 0.
       +@test sim.grains[2].ang_pos > 0.
       +@test sim.grains[2].ang_vel > 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -303,7 +303,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -314,13 +314,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos > 0.
       -Test.@test sim.grains[1].ang_vel > 0.
       -Test.@test sim.grains[2].ang_pos > 0.
       -Test.@test sim.grains[2].ang_vel > 0.
       +@test sim.grains[1].ang_pos > 0.
       +@test sim.grains[1].ang_vel > 0.
       +@test sim.grains[2].ang_pos > 0.
       +@test sim.grains[2].ang_vel > 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("# Ice floes free to move, mirrored #2")
       t@@ -346,13 +346,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Two-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -364,7 +364,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -375,13 +375,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("# Tangential elasticity, no tangential viscosity, no Coulomb slip")
       t@@ -415,13 +415,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Two-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        info("Testing kinetic energy conservation with Two-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -433,7 +433,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
       t@@ -444,13 +444,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
       +@test E_kin_lin_init+E_kin_rot_init ≈ E_kin_lin_final+E_kin_rot_final atol=E_kin_lin_init*tol 
        
        
        info("# Tangential elasticity, no tangential viscosity, Coulomb slip")
       t@@ -487,7 +487,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
       +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -497,13 +497,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
       +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
        
        
        info("# Tangential elasticity, tangential viscosity, no Coulomb slip")
       t@@ -540,7 +540,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
       +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -550,13 +550,13 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
       +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
        
        
        info("# Tangential elasticity, tangential viscosity, Coulomb slip")
       t@@ -593,7 +593,7 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
       +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
        
        info("Testing kinetic energy conservation with Three-term Taylor scheme")
        sim = deepcopy(sim_init)
       t@@ -603,10 +603,10 @@ info("Relative tolerance: $(tol*100.)% with time step: $(sim.time_step)")
        Granular.run!(sim, temporal_integration_method="Three-term Taylor",
                    verbose=verbose)
        
       -Test.@test sim.grains[1].ang_pos < 0.
       -Test.@test sim.grains[1].ang_vel < 0.
       -Test.@test sim.grains[2].ang_pos < 0.
       -Test.@test sim.grains[2].ang_vel < 0.
       +@test sim.grains[1].ang_pos < 0.
       +@test sim.grains[1].ang_vel < 0.
       +@test sim.grains[2].ang_pos < 0.
       +@test sim.grains[2].ang_vel < 0.
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
       +@test E_kin_lin_init+E_kin_rot_init > E_kin_lin_final+E_kin_rot_final
 (DIR) diff --git a/test/collision-5floes-normal.jl b/test/collision-5floes-normal.jl
       t@@ -37,12 +37,12 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       -Test.@test 0. < norm(sim.grains[1].lin_vel)
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
       +@test 0. < norm(sim.grains[1].lin_vel)
        for i=2:5
            info("testing ice floe $i")
       -    Test.@test 0. ≈ norm(sim.grains[i].lin_vel)
       +    @test 0. ≈ norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -55,12 +55,12 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       -Test.@test 0. < norm(sim.grains[1].lin_vel)
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
       +@test 0. < norm(sim.grains[1].lin_vel)
        for i=2:5
            info("testing ice floe $i")
       -    Test.@test 0. ≈ norm(sim.grains[i].lin_vel)
       +    @test 0. ≈ norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -74,12 +74,12 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       -Test.@test 0. < norm(sim.grains[1].lin_vel)
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
       +@test 0. < norm(sim.grains[1].lin_vel)
        for i=2:5
            info("testing ice floe $i")
       -    Test.@test 0. ≈ norm(sim.grains[i].lin_vel)
       +    @test 0. ≈ norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -110,11 +110,11 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        for i=1:5
            info("testing ice floe $i")
       -    Test.@test 0. < norm(sim.grains[i].lin_vel)
       +    @test 0. < norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -127,11 +127,11 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        for i=1:5
            info("testing ice floe $i")
       -    Test.@test 0. < norm(sim.grains[i].lin_vel)
       +    @test 0. < norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -145,11 +145,11 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init ≈ E_kin_lin_final atol=E_kin_lin_init*tol
       +@test E_kin_rot_init ≈ E_kin_rot_final
        for i=1:5
            info("testing ice floe $i")
       -    Test.@test 0. < norm(sim.grains[i].lin_vel)
       +    @test 0. < norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -191,12 +191,12 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       -Test.@test 0. < norm(sim.grains[1].lin_vel)
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
       +@test 0. < norm(sim.grains[1].lin_vel)
        for i=2:5
            info("testing ice floe $i")
       -    Test.@test 0. ≈ norm(sim.grains[i].lin_vel)
       +    @test 0. ≈ norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -210,12 +210,12 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       -Test.@test 0. < norm(sim.grains[1].lin_vel)
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
       +@test 0. < norm(sim.grains[1].lin_vel)
        for i=2:5
            info("testing ice floe $i")
       -    Test.@test 0. ≈ norm(sim.grains[i].lin_vel)
       +    @test 0. ≈ norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -252,11 +252,11 @@ Granular.run!(sim, temporal_integration_method="Two-term Taylor", verbose=verbos
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
        for i=1:5
            info("testing ice floe $i")
       -    Test.@test 0. < norm(sim.grains[i].lin_vel)
       +    @test 0. < norm(sim.grains[i].lin_vel)
        end
        
        
       t@@ -270,9 +270,9 @@ Granular.run!(sim, temporal_integration_method="Three-term Taylor",
        
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_lin_init > E_kin_lin_final
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final
       +@test E_kin_lin_init > E_kin_lin_final
       +@test E_kin_rot_init ≈ E_kin_rot_final
        for i=1:5
            info("testing ice floe $i")
       -    Test.@test 0. < norm(sim.grains[i].lin_vel)
       +    @test 0. < norm(sim.grains[i].lin_vel)
        end
 (DIR) diff --git a/test/contact-search-and-geometry.jl b/test/contact-search-and-geometry.jl
       t@@ -12,8 +12,8 @@ Granular.addGrainCylindrical!(sim, [18., 0.], 10., 1., verbose=false)
        position_ij = Granular.interGrainPositionVector(sim, 1, 2)
        overlap_ij = Granular.findOverlap(sim, 1, 2, position_ij)
        
       -Test.@test [-18., 0.] ≈ position_ij
       -Test.@test -2. ≈ overlap_ij
       +@test [-18., 0.] ≈ position_ij
       +@test -2. ≈ overlap_ij
        
        
        info("Testing findContactsAllToAll(...)")
       t@@ -27,75 +27,75 @@ Granular.findContacts!(sim)
        
        sim.grains[1].fixed = true
        # The contact should be registered in ice floe 1, but not ice floe 2
       -Test.@test 2 == sim.grains[1].contacts[1]
       -Test.@test [-18., 0.] ≈ sim.grains[1].position_vector[1]
       +@test 2 == sim.grains[1].contacts[1]
       +@test [-18., 0.] ≈ sim.grains[1].position_vector[1]
        for ic=2:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
        info("Testing findContacts(...)")
        sim = deepcopy(sim_copy)
        Granular.findContacts!(sim)
        
       -Test.@test 2 == sim.grains[1].contacts[1]
       -Test.@test [-18., 0.] ≈ sim.grains[1].position_vector[1]
       +@test 2 == sim.grains[1].contacts[1]
       +@test [-18., 0.] ≈ sim.grains[1].position_vector[1]
        for ic=2:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
       -Test.@test_throws ErrorException Granular.findContacts!(sim, method="")
       +@test_throws ErrorException Granular.findContacts!(sim, method="")
        
        sim = deepcopy(sim_copy)
        sim.grains[1].fixed = true
        sim.grains[2].fixed = true
        Granular.findContacts!(sim)
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 0 == sim.grains[1].n_contacts
       -Test.@test 0 == sim.grains[2].n_contacts
       +@test 0 == sim.grains[1].n_contacts
       +@test 0 == sim.grains[2].n_contacts
        
        
        sim = deepcopy(sim_copy)
        Granular.disableGrain!(sim, 1)
        Granular.findContacts!(sim)
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 0 == sim.grains[1].n_contacts
       -Test.@test 0 == sim.grains[2].n_contacts
       +@test 0 == sim.grains[1].n_contacts
       +@test 0 == sim.grains[2].n_contacts
        
        
        sim = deepcopy(sim_copy)
       t@@ -103,17 +103,17 @@ Granular.disableGrain!(sim, 1)
        Granular.disableGrain!(sim, 2)
        Granular.findContacts!(sim)
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 0 == sim.grains[1].n_contacts
       -Test.@test 0 == sim.grains[2].n_contacts
       +@test 0 == sim.grains[1].n_contacts
       +@test 0 == sim.grains[2].n_contacts
        
        info("Testing if interact(...) removes contacts correctly")
        sim = deepcopy(sim_copy)
       t@@ -121,20 +121,20 @@ Granular.findContacts!(sim)
        Granular.interact!(sim)
        Granular.findContacts!(sim)
        
       -Test.@test 2 == sim.grains[1].contacts[1]
       -Test.@test [-18., 0.] ≈ sim.grains[1].position_vector[1]
       +@test 2 == sim.grains[1].contacts[1]
       +@test [-18., 0.] ≈ sim.grains[1].position_vector[1]
        for ic=2:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
        
        info("Testing findContactsGrid(...)")
       t@@ -143,19 +143,19 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [80., 80., 2.])
        Granular.sortGrainsInGrid!(sim, sim.ocean)
        Granular.findContactsInGrid!(sim, sim.ocean)
        
       -Test.@test 2 == sim.grains[1].contacts[1]
       +@test 2 == sim.grains[1].contacts[1]
        for ic=2:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
        
        sim = deepcopy(sim_copy)
       t@@ -164,19 +164,19 @@ sim.grains[1].fixed = true
        Granular.sortGrainsInGrid!(sim, sim.ocean)
        Granular.findContactsInGrid!(sim, sim.ocean)
        
       -Test.@test 2 == sim.grains[1].contacts[1]
       +@test 2 == sim.grains[1].contacts[1]
        for ic=2:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
        
        sim = deepcopy(sim_copy)
       t@@ -187,17 +187,17 @@ Granular.sortGrainsInGrid!(sim, sim.ocean)
        Granular.findContactsInGrid!(sim, sim.ocean)
        
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 0 == sim.grains[1].n_contacts
       -Test.@test 0 == sim.grains[2].n_contacts
       +@test 0 == sim.grains[1].n_contacts
       +@test 0 == sim.grains[2].n_contacts
        
        info("Testing findContacts(...)")
        sim = deepcopy(sim_copy)
       t@@ -205,21 +205,21 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [80., 80., 2.])
        Granular.sortGrainsInGrid!(sim, sim.ocean)
        Granular.findContacts!(sim)
        
       -Test.@test 2 == sim.grains[1].contacts[1]
       +@test 2 == sim.grains[1].contacts[1]
        for ic=2:sim.Nc_max
       -    Test.@test 0 == sim.grains[1].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[1].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[1].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[1].contact_parallel_displacement[ic]
        end
        for ic=1:sim.Nc_max
       -    Test.@test 0 == sim.grains[2].contacts[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       -    Test.@test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
       +    @test 0 == sim.grains[2].contacts[ic]
       +    @test [0., 0.] ≈ sim.grains[2].position_vector[ic]
       +    @test [0., 0.] ≈ sim.grains[2].contact_parallel_displacement[ic]
        end
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
       -Test.@test_throws ErrorException Granular.findContacts!(sim, method="")
       +@test_throws ErrorException Granular.findContacts!(sim, method="")
        
        info("Testing contact registration with multiple contacts")
        sim = Granular.createSimulation(id="test")
       t@@ -235,32 +235,32 @@ Granular.addGrainCylindrical!(sim, [6., 6.], 1.01, 1., verbose=false)
        sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [8., 8., 2.])
        Granular.sortGrainsInGrid!(sim, sim.ocean)
        Granular.findContacts!(sim)
       -Test.@test 2 == sim.grains[1].n_contacts
       -Test.@test 3 == sim.grains[2].n_contacts
       -Test.@test 2 == sim.grains[3].n_contacts
       -Test.@test 3 == sim.grains[4].n_contacts
       -Test.@test 4 == sim.grains[5].n_contacts
       -Test.@test 3 == sim.grains[6].n_contacts
       -Test.@test 2 == sim.grains[7].n_contacts
       -Test.@test 3 == sim.grains[8].n_contacts
       -Test.@test 2 == sim.grains[9].n_contacts
       +@test 2 == sim.grains[1].n_contacts
       +@test 3 == sim.grains[2].n_contacts
       +@test 2 == sim.grains[3].n_contacts
       +@test 3 == sim.grains[4].n_contacts
       +@test 4 == sim.grains[5].n_contacts
       +@test 3 == sim.grains[6].n_contacts
       +@test 2 == sim.grains[7].n_contacts
       +@test 3 == sim.grains[8].n_contacts
       +@test 2 == sim.grains[9].n_contacts
        Granular.interact!(sim)
        Granular.interact!(sim)
        Granular.interact!(sim)
        Granular.interact!(sim)
       -Test.@test 2 == sim.grains[1].n_contacts
       -Test.@test 3 == sim.grains[2].n_contacts
       -Test.@test 2 == sim.grains[3].n_contacts
       -Test.@test 3 == sim.grains[4].n_contacts
       -Test.@test 4 == sim.grains[5].n_contacts
       -Test.@test 3 == sim.grains[6].n_contacts
       -Test.@test 2 == sim.grains[7].n_contacts
       -Test.@test 3 == sim.grains[8].n_contacts
       -Test.@test 2 == sim.grains[9].n_contacts
       +@test 2 == sim.grains[1].n_contacts
       +@test 3 == sim.grains[2].n_contacts
       +@test 2 == sim.grains[3].n_contacts
       +@test 3 == sim.grains[4].n_contacts
       +@test 4 == sim.grains[5].n_contacts
       +@test 3 == sim.grains[6].n_contacts
       +@test 2 == sim.grains[7].n_contacts
       +@test 3 == sim.grains[8].n_contacts
       +@test 2 == sim.grains[9].n_contacts
        for i=1:9
            sim.grains[i].contact_radius = 0.99
        end
        Granular.interact!(sim)
        for i=1:9
       -    Test.@test sim.grains[i].n_contacts == 0
       +    @test sim.grains[i].n_contacts == 0
        end
 (DIR) diff --git a/test/grain.jl b/test/grain.jl
       t@@ -10,19 +10,19 @@ Granular.addGrainCylindrical!(sim, [ 0., 0.], 10., 1., verbose=false)
        Granular.printGrainInfo(sim.grains[1])
        
        info("Testing grain value checks ")
       -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1, .1],
       +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1, .1],
                                                                  10., 1.)
       -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
       +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
                                                                  10., 1., 
                                                                  lin_vel=[.2,.2,.2])
       -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
       +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
                                                                  10., 1., 
                                                                  lin_acc=[.2,.2,.2])
       -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
       +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
                                                                  0., 1.)
       -Test.@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
       +@test_throws ErrorException Granular.addGrainCylindrical!(sim, [.1, .1],
                                                                  10., 1., density=-2.)
       -Test.@test_throws ErrorException Granular.disableGrain!(sim, 0)
       +@test_throws ErrorException Granular.disableGrain!(sim, 0)
        
        info("Testing grain comparison ")
        sim = Granular.createSimulation(id="test")
       t@@ -40,18 +40,18 @@ if typeof(Pkg.installed("PyPlot")) == VersionNumber
            rm("test-grain-size-distribution.png")
            Granular.plotGrainSizeDistribution(sim, size_type="areal")
            rm("test-grain-size-distribution.png")
       -    Test.@test_throws ErrorException Granular.plotGrainSizeDistribution(sim, size_type="asdf")
       +    @test_throws ErrorException Granular.plotGrainSizeDistribution(sim, size_type="asdf")
        else
       -    Test.@test_throws ErrorException Granular.plotGrainSizeDistribution(sim)
       +    @test_throws ErrorException Granular.plotGrainSizeDistribution(sim)
        end
        
        info("Testing external body force routines")
        sim = Granular.createSimulation(id="test")
        Granular.addGrainCylindrical!(sim, [ 0., 0.], 10., 1., verbose=false)
        Granular.setBodyForce!(sim.grains[1], [1., 2.])
       -Test.@test sim.grains[1].external_body_force ≈ [1., 2.]
       +@test sim.grains[1].external_body_force ≈ [1., 2.]
        Granular.addBodyForce!(sim.grains[1], [1., 2.])
       -Test.@test sim.grains[1].external_body_force ≈ [2., 4.]
       +@test sim.grains[1].external_body_force ≈ [2., 4.]
        
        info("Testing zeroKinematics!()")
        sim.grains[1].force .= ones(2)
       t@@ -61,5 +61,5 @@ sim.grains[1].torque = 1.
        sim.grains[1].ang_acc = 1.
        sim.grains[1].ang_vel = 1.
        Granular.zeroKinematics!(sim)
       -Test.@test Granular.totalGrainKineticTranslationalEnergy(sim) ≈ 0.
       -Test.@test Granular.totalGrainKineticRotationalEnergy(sim) ≈ 0.
       +@test Granular.totalGrainKineticTranslationalEnergy(sim) ≈ 0.
       +@test Granular.totalGrainKineticRotationalEnergy(sim) ≈ 0.
 (DIR) diff --git a/test/grid-boundaries.jl b/test/grid-boundaries.jl
       t@@ -10,10 +10,10 @@ info("## Inactive/Periodic BCs")
        info("Testing assignment and reporting of grid boundary conditions")
        ocean = Granular.createEmptyOcean()
        
       -Test.@test ocean.bc_west == 1
       -Test.@test ocean.bc_east == 1
       -Test.@test ocean.bc_north == 1
       -Test.@test ocean.bc_south == 1
       +@test ocean.bc_west == 1
       +@test ocean.bc_east == 1
       +@test ocean.bc_north == 1
       +@test ocean.bc_south == 1
        
        const originalSTDOUT = STDOUT
        (out_r, out_w) = redirect_stdout()
       t@@ -21,7 +21,7 @@ Granular.reportGridBoundaryConditions(ocean)
        close(out_w)
        redirect_stdout(originalSTDOUT)
        output = convert(String, readavailable(out_r))
       -Test.@test output == """West  (-x): inactive\t(1)
       +@test output == """West  (-x): inactive\t(1)
        East  (+x): inactive\t(1)
        South (-y): inactive\t(1)
        North (+y): inactive\t(1)
       t@@ -32,77 +32,77 @@ Granular.setGridBoundaryConditions!(ocean, "periodic", "south, west", verbose=tr
        close(out_w)
        redirect_stdout(originalSTDOUT)
        output = convert(String, readavailable(out_r))
       -Test.@test output == """West  (-x): periodic\t(2)
       +@test output == """West  (-x): periodic\t(2)
        East  (+x): inactive\t(1)
        South (-y): periodic\t(2)
        North (+y): inactive\t(1)
        """
       -Test.@test ocean.bc_west == 2
       -Test.@test ocean.bc_east == 1
       -Test.@test ocean.bc_north == 1
       -Test.@test ocean.bc_south == 2
       +@test ocean.bc_west == 2
       +@test ocean.bc_east == 1
       +@test ocean.bc_north == 1
       +@test ocean.bc_south == 2
        
        (out_r, out_w) = redirect_stdout()
        Granular.setGridBoundaryConditions!(ocean, "inactive", "all", verbose=false)
        close(out_w)
        redirect_stdout(originalSTDOUT)
        output = convert(String, readavailable(out_r))
       -Test.@test output == ""
       -Test.@test ocean.bc_west == 1
       -Test.@test ocean.bc_east == 1
       -Test.@test ocean.bc_north == 1
       -Test.@test ocean.bc_south == 1
       +@test output == ""
       +@test ocean.bc_west == 1
       +@test ocean.bc_east == 1
       +@test ocean.bc_north == 1
       +@test ocean.bc_south == 1
        
        (out_r, out_w) = redirect_stdout()
        Granular.setGridBoundaryConditions!(ocean, "periodic", "all")
        close(out_w)
        output = convert(String, readavailable(out_r))
        redirect_stdout(originalSTDOUT)
       -Test.@test output == """West  (-x): periodic\t(2)
       +@test output == """West  (-x): periodic\t(2)
        East  (+x): periodic\t(2)
        South (-y): periodic\t(2)
        North (+y): periodic\t(2)
        """
       -Test.@test ocean.bc_west == 2
       -Test.@test ocean.bc_east == 2
       -Test.@test ocean.bc_north == 2
       -Test.@test ocean.bc_south == 2
       +@test ocean.bc_west == 2
       +@test ocean.bc_east == 2
       +@test ocean.bc_north == 2
       +@test ocean.bc_south == 2
        
        (out_r, out_w) = redirect_stdout()
        Granular.setGridBoundaryConditions!(ocean, "inactive")
        close(out_w)
        output = convert(String, readavailable(out_r))
        redirect_stdout(originalSTDOUT)
       -Test.@test output == """West  (-x): inactive\t(1)
       +@test output == """West  (-x): inactive\t(1)
        East  (+x): inactive\t(1)
        South (-y): inactive\t(1)
        North (+y): inactive\t(1)
        """
       -Test.@test ocean.bc_west == 1
       -Test.@test ocean.bc_east == 1
       -Test.@test ocean.bc_north == 1
       -Test.@test ocean.bc_south == 1
       +@test ocean.bc_west == 1
       +@test ocean.bc_east == 1
       +@test ocean.bc_north == 1
       +@test ocean.bc_south == 1
        
        (out_r, out_w) = redirect_stdout()
        Granular.setGridBoundaryConditions!(ocean, "periodic")
        close(out_w)
        output = convert(String, readavailable(out_r))
        redirect_stdout(originalSTDOUT)
       -Test.@test output == """West  (-x): periodic\t(2)
       +@test output == """West  (-x): periodic\t(2)
        East  (+x): periodic\t(2)
        South (-y): periodic\t(2)
        North (+y): periodic\t(2)
        """
       -Test.@test ocean.bc_west == 2
       -Test.@test ocean.bc_east == 2
       -Test.@test ocean.bc_north == 2
       -Test.@test ocean.bc_south == 2
       +@test ocean.bc_west == 2
       +@test ocean.bc_east == 2
       +@test ocean.bc_north == 2
       +@test ocean.bc_south == 2
        
       -Test.@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean,
       +@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean,
                                                                             "periodic",
                                                                             "asdf")
        
       -Test.@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean,
       +@test_throws ErrorException Granular.setGridBoundaryConditions!(ocean,
                                                                             "asdf")
        
        
       t@@ -114,15 +114,15 @@ Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.addGrainCylindrical!(sim, [0.9, 0.5], 0.11, 0.1, verbose=false)
        
        # there should be an error if all-to-all contact search is used
       -Test.@test_throws ErrorException Granular.findContacts!(sim)
       -Test.@test_throws ErrorException Granular.findContacts!(sim, method="all to all")
       -Test.@test_throws ErrorException Granular.findContactsAllToAll!(sim)
       +@test_throws ErrorException Granular.findContacts!(sim)
       +@test_throws ErrorException Granular.findContacts!(sim, method="all to all")
       +@test_throws ErrorException Granular.findContactsAllToAll!(sim)
        
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=false)
        Granular.findContacts!(sim, method="ocean grid")
       -Test.@test 2 == sim.grains[1].contacts[1]
       -Test.@test 1 == sim.grains[1].n_contacts
       -Test.@test 1 == sim.grains[2].n_contacts
       +@test 2 == sim.grains[1].contacts[1]
       +@test 1 == sim.grains[1].n_contacts
       +@test 1 == sim.grains[2].n_contacts
        
        
        info("Test grain position adjustment across periodic boundaries")
       t@@ -132,7 +132,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "inactive", verbose=false)
        Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
       +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
        
        # do not readjust inside grid, periodic boundaries
        sim = Granular.createSimulation()
       t@@ -140,7 +140,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false)
        Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
       +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
        
        # do not readjust outside grid, inactive boundaries
        sim = Granular.createSimulation()
       t@@ -148,7 +148,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "inactive", verbose=false)
        Granular.addGrainCylindrical!(sim, [-0.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [-0.1, 0.5] ≈ sim.grains[1].lin_pos
       +@test [-0.1, 0.5] ≈ sim.grains[1].lin_pos
        
        # readjust outside grid, periodic boundaries, -x
        sim = Granular.createSimulation()
       t@@ -156,7 +156,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false)
        Granular.addGrainCylindrical!(sim, [-0.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.9, 0.5] ≈ sim.grains[1].lin_pos
       +@test [0.9, 0.5] ≈ sim.grains[1].lin_pos
        
        # readjust outside grid, periodic boundaries, +x
        sim = Granular.createSimulation()
       t@@ -164,7 +164,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false)
        Granular.addGrainCylindrical!(sim, [1.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
       +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
        
        # readjust outside grid, periodic boundaries, -y
        sim = Granular.createSimulation()
       t@@ -172,7 +172,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false)
        Granular.addGrainCylindrical!(sim, [0.3, -0.1], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.3, 0.9] ≈ sim.grains[1].lin_pos
       +@test [0.3, 0.9] ≈ sim.grains[1].lin_pos
        
        # readjust outside grid, periodic boundaries, +y
        sim = Granular.createSimulation()
       t@@ -180,7 +180,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false)
        Granular.addGrainCylindrical!(sim, [0.3, 1.1], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.3, 0.1] ≈ sim.grains[1].lin_pos
       +@test [0.3, 0.1] ≈ sim.grains[1].lin_pos
        
        # throw error if atmosphere and ocean BCs differ
        sim = Granular.createSimulation()
       t@@ -188,7 +188,7 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        sim.atmosphere = Granular.createRegularAtmosphereGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "periodic", verbose=false)
        Granular.addGrainCylindrical!(sim, [0.3, 1.1], 0.11, 0.1, verbose=false)
       -Test.@test_throws ErrorException Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       +@test_throws ErrorException Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
        
        
        info("## Impermeable BCs")
       t@@ -200,4 +200,4 @@ sim.ocean = Granular.createRegularOceanGrid([5, 5, 2], [1., 1., 1.])
        Granular.setGridBoundaryConditions!(sim.ocean, "inactive", verbose=false)
        Granular.addGrainCylindrical!(sim, [0.1, 0.5], 0.11, 0.1, verbose=false)
        Granular.moveGrainsAcrossPeriodicBoundaries!(sim)
       -Test.@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
       +@test [0.1, 0.5] ≈ sim.grains[1].lin_pos
 (DIR) diff --git a/test/grid.jl b/test/grid.jl
       t@@ -10,76 +10,76 @@ ocean = Granular.readOceanNetCDF("Baltic/00010101.ocean_month.nc",
        
        info("Testing coordinate retrieval functions")
        sw, se, ne, nw = Granular.getCellCornerCoordinates(ocean.xq, ocean.yq, 1, 1)
       -Test.@test sw ≈ [6., 53.]
       -Test.@test se ≈ [7., 53.]
       -Test.@test ne ≈ [7., 54.]
       -Test.@test nw ≈ [6., 54.]
       -Test.@test Granular.getCellCenterCoordinates(ocean.xh, ocean.yh, 1, 1) ≈ [6.5, 53.5]
       +@test sw ≈ [6., 53.]
       +@test se ≈ [7., 53.]
       +@test ne ≈ [7., 54.]
       +@test nw ≈ [6., 54.]
       +@test Granular.getCellCenterCoordinates(ocean.xh, ocean.yh, 1, 1) ≈ [6.5, 53.5]
        
        info("Testing area-determination methods")
       -Test.@test Granular.areaOfTriangle([0., 0.], [1., 0.], [0., 1.]) ≈ .5
       -Test.@test Granular.areaOfTriangle([1., 0.], [0., 1.], [0., 0.]) ≈ .5
       -Test.@test Granular.areaOfQuadrilateral([1., 0.], [0., 1.], [0., 0.], [1., 1.]) ≈ 1.
       +@test Granular.areaOfTriangle([0., 0.], [1., 0.], [0., 1.]) ≈ .5
       +@test Granular.areaOfTriangle([1., 0.], [0., 1.], [0., 0.]) ≈ .5
       +@test Granular.areaOfQuadrilateral([1., 0.], [0., 1.], [0., 0.], [1., 1.]) ≈ 1.
        
        info("Testing area-based cell content determination")
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5], sw, se, ne, nw) == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5]) == true
       -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.5, 53.5]) ≈
       +@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5], sw, se, ne, nw) == true
       +@test Granular.isPointInCell(ocean, 1, 1, [6.5, 53.5]) == true
       +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.5, 53.5]) ≈
            [.5, .5]
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw) == true
       -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.5]) ≈
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw) == true
       +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.5]) ≈
            [.1, .5]
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw) == true
       -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.0, 53.5]) ≈
       +@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw) == true
       +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.0, 53.5]) ≈
            [.0, .5]
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw) == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw) == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw) == true
       -Test.@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.99999]) ≈
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw) == true
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw) == true
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw) == true
       +@test Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [6.1, 53.99999]) ≈
            [.1, .99999]
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw) == false
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw) == false
       +@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw) == false
       +@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw) == false
        x_tilde, _ = Granular.getNonDimensionalCellCoordinates(ocean, 1, 1, [0., 53.5])
       -Test.@test x_tilde < 0.
       +@test x_tilde < 0.
        
        info("Testing conformal mapping methods")
       -Test.@test Granular.conformalQuadrilateralCoordinates([0., 0.],
       +@test Granular.conformalQuadrilateralCoordinates([0., 0.],
                                                       [5., 0.],
                                                       [5., 3.],
                                                       [0., 3.],
                                                       [2.5, 1.5]) ≈ [0.5, 0.5]
       -Test.@test Granular.conformalQuadrilateralCoordinates([0., 0.],
       +@test Granular.conformalQuadrilateralCoordinates([0., 0.],
                                                       [5., 0.],
                                                       [5., 3.],
                                                       [0., 3.],
                                                       [7.5, 1.5]) ≈ [1.5, 0.5]
       -Test.@test Granular.conformalQuadrilateralCoordinates([0., 0.],
       +@test Granular.conformalQuadrilateralCoordinates([0., 0.],
                                                       [5., 0.],
                                                       [5., 3.],
                                                       [0., 3.],
                                                       [7.5,-1.5]) ≈ [1.5,-0.5]
       -Test.@test_throws ErrorException Granular.conformalQuadrilateralCoordinates([0., 0.],
       +@test_throws ErrorException Granular.conformalQuadrilateralCoordinates([0., 0.],
                                                                             [5., 3.],
                                                                             [0., 3.],
                                                                             [5., 0.],
                                                                             [7.5,-1.5])
        
        info("Checking cell content using conformal mapping methods")
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.4, 53.4], sw, se, ne, nw, 
       +@test Granular.isPointInCell(ocean, 1, 1, [6.4, 53.4], sw, se, ne, nw, 
                                   method="Conformal") == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw, 
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.5], sw, se, ne, nw, 
                                   method="Conformal") == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw, 
       +@test Granular.isPointInCell(ocean, 1, 1, [6.0, 53.5], sw, se, ne, nw, 
                                   method="Conformal") == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw, 
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.7], sw, se, ne, nw, 
                                   method="Conformal") == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw, 
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.9], sw, se, ne, nw, 
                                   method="Conformal") == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw,
       +@test Granular.isPointInCell(ocean, 1, 1, [6.1, 53.99999], sw, se, ne, nw,
                                   method="Conformal") == true
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw,
       +@test Granular.isPointInCell(ocean, 1, 1, [7.5, 53.5], sw, se, ne, nw,
                                   method="Conformal") == false
       -Test.@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw,
       +@test Granular.isPointInCell(ocean, 1, 1, [0.0, 53.5], sw, se, ne, nw,
                                   method="Conformal") == false
        
        info("Testing bilinear interpolation scheme on conformal mapping")
       t@@ -92,36 +92,36 @@ Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1],
                                      .5, .5, 1, 1)
        @time Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .5, 
                                      .5, 1, 1)
       -Test.@test val[1] ≈ .5
       -Test.@test val[2] ≈ .5
       +@test val[1] ≈ .5
       +@test val[2] ≈ .5
        Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], 1., 1., 
        1, 1)
       -Test.@test val[1] ≈ .0
       -Test.@test val[2] ≈ .0
       +@test val[1] ≈ .0
       +@test val[2] ≈ .0
        Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], 0., 0., 
        1, 1)
       -Test.@test val[1] ≈ 1.
       -Test.@test val[2] ≈ 1.
       +@test val[1] ≈ 1.
       +@test val[2] ≈ 1.
        Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .25, .25, 
        1, 1)
       -Test.@test val[1] ≈ .75
       -Test.@test val[2] ≈ .75
       +@test val[1] ≈ .75
       +@test val[2] ≈ .75
        Granular.bilinearInterpolation!(val, ocean.u[:,:,1,1], ocean.u[:,:,1,1], .75, .75, 
        1, 1)
       -Test.@test val[1] ≈ .25
       -Test.@test val[2] ≈ .25
       +@test val[1] ≈ .25
       +@test val[2] ≈ .25
        
        info("Testing cell binning - Area-based approach")
       -Test.@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Area") == (1, 1)
       -Test.@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Area") == (2, 1)
       -Test.@test Granular.findCellContainingPoint(ocean, [0.2,53.4], method="Area") == (0, 0)
       +@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Area") == (1, 1)
       +@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Area") == (2, 1)
       +@test Granular.findCellContainingPoint(ocean, [0.2,53.4], method="Area") == (0, 0)
        
        info("Testing cell binning - Conformal mapping")
       -Test.@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Conformal") == 
       +@test Granular.findCellContainingPoint(ocean, [6.2,53.4], method="Conformal") == 
            (1, 1)
       -Test.@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Conformal") == 
       +@test Granular.findCellContainingPoint(ocean, [7.2,53.4], method="Conformal") == 
            (2, 1)
       -Test.@test Granular.findCellContainingPoint(ocean, [0.2, 53.4], method="Conformal") ==
       +@test Granular.findCellContainingPoint(ocean, [0.2, 53.4], method="Conformal") ==
            (0, 0)
        
        sim = Granular.createSimulation()
       t@@ -131,11 +131,11 @@ Granular.addGrainCylindrical!(sim, [6.5, 53.5], 10., 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [6.6, 53.5], 10., 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [7.5, 53.5], 10., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
       -Test.@test sim.grains[1].ocean_grid_pos == [1, 1]
       -Test.@test sim.grains[2].ocean_grid_pos == [1, 1]
       -Test.@test sim.grains[3].ocean_grid_pos == [2, 1]
       -Test.@test sim.ocean.grain_list[1, 1] == [1, 2]
       -Test.@test sim.ocean.grain_list[2, 1] == [3]
       +@test sim.grains[1].ocean_grid_pos == [1, 1]
       +@test sim.grains[2].ocean_grid_pos == [1, 1]
       +@test sim.grains[3].ocean_grid_pos == [2, 1]
       +@test sim.ocean.grain_list[1, 1] == [1, 2]
       +@test sim.ocean.grain_list[2, 1] == [3]
        
        info("Testing ocean drag")
        sim = Granular.createSimulation()
       t@@ -146,10 +146,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        sim.time = ocean.time[1]
        Granular.addOceanDrag!(sim)
       -Test.@test sim.grains[1].force[1] > 0.
       -Test.@test sim.grains[1].force[2] ≈ 0.
       -Test.@test sim.grains[2].force[1] > 0.
       -Test.@test sim.grains[2].force[2] ≈ 0.
       +@test sim.grains[1].force[1] > 0.
       +@test sim.grains[1].force[2] ≈ 0.
       +@test sim.grains[2].force[1] > 0.
       +@test sim.grains[2].force[2] ≈ 0.
        sim.ocean.u[:,:,1,1] = -5.
        sim.ocean.v[:,:,1,1] = 5.
        Granular.addGrainCylindrical!(sim, [2.5, 3.5], 1., 1., verbose=verbose)
       t@@ -157,10 +157,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        sim.time = ocean.time[1]
        Granular.addOceanDrag!(sim)
       -Test.@test sim.grains[1].force[1] < 0.
       -Test.@test sim.grains[1].force[2] > 0.
       -Test.@test sim.grains[2].force[1] < 0.
       -Test.@test sim.grains[2].force[2] > 0.
       +@test sim.grains[1].force[1] < 0.
       +@test sim.grains[1].force[2] > 0.
       +@test sim.grains[2].force[1] < 0.
       +@test sim.grains[2].force[2] > 0.
        
        info("Testing curl function")
        ocean.u[1, 1, 1, 1] = 1.0
       t@@ -172,14 +172,14 @@ sw = Vector{Float64}(2)
        se = Vector{Float64}(2)
        ne = Vector{Float64}(2)
        nw = Vector{Float64}(2)
       -Test.@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0.
       +@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0.
        
        ocean.u[1, 1, 1, 1] = 0.0
        ocean.u[2, 1, 1, 1] = 0.0
        ocean.u[2, 2, 1, 1] = 1.0
        ocean.u[1, 2, 1, 1] = 1.0
        ocean.v[:, :, 1, 1] = 0.0
       -Test.@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0.
       +@test Granular.curl(ocean, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0.
        
        info("Testing atmosphere drag")
        sim = Granular.createSimulation()
       t@@ -191,10 +191,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.atmosphere, verbose=verbose)
        sim.time = ocean.time[1]
        Granular.addAtmosphereDrag!(sim)
       -Test.@test sim.grains[1].force[1] > 0.
       -Test.@test sim.grains[1].force[2] ≈ 0.
       -Test.@test sim.grains[2].force[1] > 0.
       -Test.@test sim.grains[2].force[2] ≈ 0.
       +@test sim.grains[1].force[1] > 0.
       +@test sim.grains[1].force[2] ≈ 0.
       +@test sim.grains[2].force[1] > 0.
       +@test sim.grains[2].force[2] ≈ 0.
        sim.atmosphere.u[:,:,1,1] = -5.
        sim.atmosphere.v[:,:,1,1] = 5.
        Granular.addGrainCylindrical!(sim, [2.5, 3.5], 1., 1., verbose=verbose)
       t@@ -202,10 +202,10 @@ Granular.addGrainCylindrical!(sim, [2.6, 2.5], 1., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.atmosphere, verbose=verbose)
        sim.time = ocean.time[1]
        Granular.addAtmosphereDrag!(sim)
       -Test.@test sim.grains[1].force[1] < 0.
       -Test.@test sim.grains[1].force[2] > 0.
       -Test.@test sim.grains[2].force[1] < 0.
       -Test.@test sim.grains[2].force[2] > 0.
       +@test sim.grains[1].force[1] < 0.
       +@test sim.grains[1].force[2] > 0.
       +@test sim.grains[2].force[1] < 0.
       +@test sim.grains[2].force[2] > 0.
        
        info("Testing curl function")
        atmosphere.u[1, 1, 1, 1] = 1.0
       t@@ -213,16 +213,16 @@ atmosphere.u[2, 1, 1, 1] = 1.0
        atmosphere.u[2, 2, 1, 1] = 0.0
        atmosphere.u[1, 2, 1, 1] = 0.0
        atmosphere.v[:, :, 1, 1] = 0.0
       -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) > 0.
       -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0.
       +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) > 0.
       +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) > 0.
        
        atmosphere.u[1, 1, 1, 1] = 0.0
        atmosphere.u[2, 1, 1, 1] = 0.0
        atmosphere.u[2, 2, 1, 1] = 1.0
        atmosphere.u[1, 2, 1, 1] = 1.0
        atmosphere.v[:, :, 1, 1] = 0.0
       -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) < 0.
       -Test.@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0.
       +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1) < 0.
       +@test Granular.curl(atmosphere, .5, .5, 1, 1, 1, 1, sw, se, ne, nw) < 0.
        
        
        info("Testing findEmptyPositionInGridCell")
       t@@ -232,8 +232,8 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [4., 4., 2.])
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, 0.5, 
                                                 verbose=true)
       -Test.@test pos != false
       -Test.@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true
       +@test pos != false
       +@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true
        
        info("# Insert into cell with one other ice floe")
        sim = Granular.createSimulation()
       t@@ -242,8 +242,8 @@ Granular.addGrainCylindrical!(sim, [.25, .25], .25, 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, .25, 
                                                 verbose=true)
       -Test.@test pos != false
       -Test.@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true
       +@test pos != false
       +@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true
        
        info("# Insert into cell with two other grains")
        sim = Granular.createSimulation()
       t@@ -253,8 +253,8 @@ Granular.addGrainCylindrical!(sim, [.75, .75], .25, 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, .25, 
                                                 verbose=true)
       -Test.@test pos != false
       -Test.@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true
       +@test pos != false
       +@test Granular.isPointInCell(sim.ocean, 1, 1, pos) == true
        
        info("# Insert into full cell")
        sim = Granular.createSimulation()
       t@@ -266,7 +266,7 @@ Granular.addGrainCylindrical!(sim, [.75, .75], 1., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 1, 1, 0.5,
                                                 verbose=false)
       -Test.@test pos == false
       +@test pos == false
        
        info("# Insert into empty cell")
        sim = Granular.createSimulation()
       t@@ -274,8 +274,8 @@ sim.ocean = Granular.createRegularOceanGrid([4, 4, 2], [4., 4., 2.])
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 2, 2, 0.5, 
                                                 verbose=true)
       -Test.@test pos != false
       -Test.@test Granular.isPointInCell(sim.ocean, 2, 2, pos) == true
       +@test pos != false
       +@test Granular.isPointInCell(sim.ocean, 2, 2, pos) == true
        
        info("# Insert into full cell")
        sim = Granular.createSimulation()
       t@@ -287,7 +287,7 @@ Granular.addGrainCylindrical!(sim, [1.75, 1.75], 1., 1., verbose=verbose)
        Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        pos = Granular.findEmptyPositionInGridCell(sim, sim.ocean, 2, 2, 0.5,
                                                 verbose=false)
       -Test.@test pos == false
       +@test pos == false
        
        info("Test default sorting with ocean/atmosphere grids")
        sim = Granular.createSimulation()
       t@@ -300,19 +300,19 @@ Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        Granular.setTimeStep!(sim)
        Granular.setTotalTime!(sim, 1.0)
        Granular.run!(sim, single_step=true, verbose=verbose)
       -Test.@test sim.atmosphere.collocated_with_ocean_grid == false
       -Test.@test sim.grains[1].ocean_grid_pos == [1, 1]
       -Test.@test sim.grains[2].ocean_grid_pos == [1, 1]
       -Test.@test sim.grains[3].ocean_grid_pos == [3, 3]
       -Test.@test sim.ocean.grain_list[1, 1] == [1, 2]
       -Test.@test sim.ocean.grain_list[2, 2] == []
       -Test.@test sim.ocean.grain_list[3, 3] == [3]
       -Test.@test sim.grains[1].atmosphere_grid_pos == [1, 1]
       -Test.@test sim.grains[2].atmosphere_grid_pos == [1, 1]
       -Test.@test sim.grains[3].atmosphere_grid_pos == [3, 3]
       -Test.@test sim.atmosphere.grain_list[1, 1] == [1, 2]
       -Test.@test sim.atmosphere.grain_list[2, 2] == []
       -Test.@test sim.atmosphere.grain_list[3, 3] == [3]
       +@test sim.atmosphere.collocated_with_ocean_grid == false
       +@test sim.grains[1].ocean_grid_pos == [1, 1]
       +@test sim.grains[2].ocean_grid_pos == [1, 1]
       +@test sim.grains[3].ocean_grid_pos == [3, 3]
       +@test sim.ocean.grain_list[1, 1] == [1, 2]
       +@test sim.ocean.grain_list[2, 2] == []
       +@test sim.ocean.grain_list[3, 3] == [3]
       +@test sim.grains[1].atmosphere_grid_pos == [1, 1]
       +@test sim.grains[2].atmosphere_grid_pos == [1, 1]
       +@test sim.grains[3].atmosphere_grid_pos == [3, 3]
       +@test sim.atmosphere.grain_list[1, 1] == [1, 2]
       +@test sim.atmosphere.grain_list[2, 2] == []
       +@test sim.atmosphere.grain_list[3, 3] == [3]
        
        info("Test optimization when ocean/atmosphere grids are collocated")
        sim = Granular.createSimulation()
       t@@ -325,77 +325,77 @@ Granular.sortGrainsInGrid!(sim, sim.ocean, verbose=verbose)
        Granular.setTimeStep!(sim)
        Granular.setTotalTime!(sim, 1.0)
        Granular.run!(sim, single_step=true, verbose=false)
       -Test.@test sim.atmosphere.collocated_with_ocean_grid == true
       -Test.@test sim.grains[1].ocean_grid_pos == [1, 1]
       -Test.@test sim.grains[2].ocean_grid_pos == [1, 1]
       -Test.@test sim.grains[3].ocean_grid_pos == [3, 3]
       -Test.@test sim.ocean.grain_list[1, 1] == [1, 2]
       -Test.@test sim.ocean.grain_list[2, 2] == []
       -Test.@test sim.ocean.grain_list[3, 3] == [3]
       -Test.@test sim.grains[1].atmosphere_grid_pos == [1, 1]
       -Test.@test sim.grains[2].atmosphere_grid_pos == [1, 1]
       -Test.@test sim.grains[3].atmosphere_grid_pos == [3, 3]
       -Test.@test sim.atmosphere.grain_list[1, 1] == [1, 2]
       -Test.@test sim.atmosphere.grain_list[2, 2] == []
       -Test.@test sim.atmosphere.grain_list[3, 3] == [3]
       +@test sim.atmosphere.collocated_with_ocean_grid == true
       +@test sim.grains[1].ocean_grid_pos == [1, 1]
       +@test sim.grains[2].ocean_grid_pos == [1, 1]
       +@test sim.grains[3].ocean_grid_pos == [3, 3]
       +@test sim.ocean.grain_list[1, 1] == [1, 2]
       +@test sim.ocean.grain_list[2, 2] == []
       +@test sim.ocean.grain_list[3, 3] == [3]
       +@test sim.grains[1].atmosphere_grid_pos == [1, 1]
       +@test sim.grains[2].atmosphere_grid_pos == [1, 1]
       +@test sim.grains[3].atmosphere_grid_pos == [3, 3]
       +@test sim.atmosphere.grain_list[1, 1] == [1, 2]
       +@test sim.atmosphere.grain_list[2, 2] == []
       +@test sim.atmosphere.grain_list[3, 3] == [3]
        
        info("Testing automatic grid-size adjustment")
        # ocean grid
        sim = Granular.createSimulation()
       -Test.@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.ocean)
       +@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.ocean)
        sim = Granular.createSimulation()
        Granular.addGrainCylindrical!(sim, [0.0, 1.5], .5, 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [2.5, 5.5], 1., 1., verbose=verbose)
        Granular.fitGridToGrains!(sim, sim.ocean, verbose=true)
       -Test.@test sim.ocean.xq[1,1] ≈ -.5
       -Test.@test sim.ocean.yq[1,1] ≈ 1.0
       -Test.@test sim.ocean.xq[end,end] ≈ 3.5
       -Test.@test sim.ocean.yq[end,end] ≈ 6.5
       +@test sim.ocean.xq[1,1] ≈ -.5
       +@test sim.ocean.yq[1,1] ≈ 1.0
       +@test sim.ocean.xq[end,end] ≈ 3.5
       +@test sim.ocean.yq[end,end] ≈ 6.5
        
        sim = Granular.createSimulation()
        Granular.addGrainCylindrical!(sim, [0.5, 1.5], .5, 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [2.5, 4.5], .5, 1., verbose=verbose)
        Granular.fitGridToGrains!(sim, sim.ocean, verbose=true)
       -Test.@test sim.ocean.xq[1,1] ≈ 0.
       -Test.@test sim.ocean.yq[1,1] ≈ 1.
       -Test.@test sim.ocean.xq[end,end] ≈ 3.
       -Test.@test sim.ocean.yq[end,end] ≈ 5.
       +@test sim.ocean.xq[1,1] ≈ 0.
       +@test sim.ocean.yq[1,1] ≈ 1.
       +@test sim.ocean.xq[end,end] ≈ 3.
       +@test sim.ocean.yq[end,end] ≈ 5.
        
        sim = Granular.createSimulation()
        Granular.addGrainCylindrical!(sim, [0.5, 0.0], .5, 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [2.0, 4.0], 1., 1., verbose=verbose)
        Granular.fitGridToGrains!(sim, sim.ocean, padding=.5, verbose=true)
       -Test.@test sim.ocean.xq[1,1] ≈ -.5
       -Test.@test sim.ocean.yq[1,1] ≈ -1.
       -Test.@test sim.ocean.xq[end,end] ≈ 3.5
       -Test.@test sim.ocean.yq[end,end] ≈ 5.5
       +@test sim.ocean.xq[1,1] ≈ -.5
       +@test sim.ocean.yq[1,1] ≈ -1.
       +@test sim.ocean.xq[end,end] ≈ 3.5
       +@test sim.ocean.yq[end,end] ≈ 5.5
        
        # atmosphere grid
        sim = Granular.createSimulation()
       -Test.@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.atmosphere)
       +@test_throws ErrorException Granular.fitGridToGrains!(sim, sim.atmosphere)
        sim = Granular.createSimulation()
        Granular.addGrainCylindrical!(sim, [0.0, 1.5], .5, 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [2.5, 5.5], 1., 1., verbose=verbose)
        Granular.fitGridToGrains!(sim, sim.atmosphere, verbose=true)
       -Test.@test sim.atmosphere.xq[1,1] ≈ -.5
       -Test.@test sim.atmosphere.yq[1,1] ≈ 1.0
       -Test.@test sim.atmosphere.xq[end,end] ≈ 3.5
       -Test.@test sim.atmosphere.yq[end,end] ≈ 6.5
       +@test sim.atmosphere.xq[1,1] ≈ -.5
       +@test sim.atmosphere.yq[1,1] ≈ 1.0
       +@test sim.atmosphere.xq[end,end] ≈ 3.5
       +@test sim.atmosphere.yq[end,end] ≈ 6.5
        
        sim = Granular.createSimulation()
        Granular.addGrainCylindrical!(sim, [0.5, 1.5], .5, 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [2.5, 4.5], .5, 1., verbose=verbose)
        Granular.fitGridToGrains!(sim, sim.atmosphere, verbose=true)
       -Test.@test sim.atmosphere.xq[1,1] ≈ 0.
       -Test.@test sim.atmosphere.yq[1,1] ≈ 1.
       -Test.@test sim.atmosphere.xq[end,end] ≈ 3.
       -Test.@test sim.atmosphere.yq[end,end] ≈ 5.
       +@test sim.atmosphere.xq[1,1] ≈ 0.
       +@test sim.atmosphere.yq[1,1] ≈ 1.
       +@test sim.atmosphere.xq[end,end] ≈ 3.
       +@test sim.atmosphere.yq[end,end] ≈ 5.
        
        sim = Granular.createSimulation()
        Granular.addGrainCylindrical!(sim, [0.5, 0.0], .5, 1., verbose=verbose)
        Granular.addGrainCylindrical!(sim, [2.0, 4.0], 1., 1., verbose=verbose)
        Granular.fitGridToGrains!(sim, sim.atmosphere, padding=.5, verbose=true)
       -Test.@test sim.atmosphere.xq[1,1] ≈ -.5
       -Test.@test sim.atmosphere.yq[1,1] ≈ -1.
       -Test.@test sim.atmosphere.xq[end,end] ≈ 3.5
       -Test.@test sim.atmosphere.yq[end,end] ≈ 5.5
       +@test sim.atmosphere.xq[1,1] ≈ -.5
       +@test sim.atmosphere.yq[1,1] ≈ -1.
       +@test sim.atmosphere.xq[end,end] ≈ 3.5
       +@test sim.atmosphere.yq[end,end] ≈ 5.5
 (DIR) diff --git a/test/memory-management.jl b/test/memory-management.jl
       t@@ -8,8 +8,8 @@ sim = Granular.createSimulation()
        empty_sim_size = 96
        empty_sim_size_recursive = 544
        
       -Test.@test sizeof(sim) == empty_sim_size
       -Test.@test Base.summarysize(sim) == empty_sim_size_recursive
       +@test sizeof(sim) == empty_sim_size
       +@test Base.summarysize(sim) == empty_sim_size_recursive
        
        size_per_grain = 368
        size_per_grain_recursive = 1552
       t@@ -18,34 +18,34 @@ info("Testing memory usage when adding grains")
        for i=1:100
            Granular.addGrainCylindrical!(sim, [1., 1.], 1., 1., verbose=false)
        
       -    Test.@test sizeof(sim) == empty_sim_size
       +    @test sizeof(sim) == empty_sim_size
        
       -    Test.@test sizeof(sim.grains[i]) == size_per_grain
       -    Test.@test Base.summarysize(sim.grains[i]) == size_per_grain_recursive
       +    @test sizeof(sim.grains[i]) == size_per_grain
       +    @test Base.summarysize(sim.grains[i]) == size_per_grain_recursive
        
       -    Test.@test sizeof(sim.grains) == sizeof(Int)*i
       -    Test.@test sizeof(sim.grains[:]) == sizeof(Int)*i
       -    Test.@test Base.summarysize(sim.grains) == size_per_grain_recursive*i + 
       +    @test sizeof(sim.grains) == sizeof(Int)*i
       +    @test sizeof(sim.grains[:]) == sizeof(Int)*i
       +    @test Base.summarysize(sim.grains) == size_per_grain_recursive*i + 
                sizeof(Int)*i
        
       -    Test.@test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*i + 
       +    @test Base.summarysize(sim) == empty_sim_size_recursive + sizeof(Int)*i + 
                size_per_grain_recursive*i
        
       -    Test.@test Base.summarysize(sim.grains[i]) == size_per_grain_recursive
       +    @test Base.summarysize(sim.grains[i]) == size_per_grain_recursive
        end
        
        info("Checking memory footprint when overwriting simulation object")
        sim = Granular.createSimulation()
       -Test.@test sizeof(sim) == empty_sim_size
       -Test.@test Base.summarysize(sim) == empty_sim_size_recursive
       +@test sizeof(sim) == empty_sim_size
       +@test Base.summarysize(sim) == empty_sim_size_recursive
        
        info("Check memory usage when stepping time for empty simulation object")
        sim = Granular.createSimulation()
        sim.time_step = 1.0
        for i=1:10
            Granular.run!(sim, single_step=true, verbose=false)
       -    Test.@test sizeof(sim) == empty_sim_size
       -    Test.@test Base.summarysize(sim) == empty_sim_size_recursive
       +    @test sizeof(sim) == empty_sim_size
       +    @test Base.summarysize(sim) == empty_sim_size_recursive
        end
        
        info("Check memory when stepping time with single ice floe")
       t@@ -54,8 +54,8 @@ Granular.addGrainCylindrical!(sim, [1., 1.], 1., 1., verbose=false)
        sim.time_step = 1.0
        for i=1:10
            Granular.run!(sim, single_step=true, verbose=false)
       -    Test.@test sizeof(sim) == empty_sim_size
       -    Test.@test Base.summarysize(sim) == empty_sim_size_recursive + 
       +    @test sizeof(sim) == empty_sim_size
       +    @test Base.summarysize(sim) == empty_sim_size_recursive + 
                sizeof(Int)*length(sim.grains) + 
                size_per_grain_recursive*length(sim.grains)
        end
       t@@ -67,8 +67,8 @@ Granular.addGrainCylindrical!(sim, [1., 1.], 3., 1., verbose=false)
        sim.time_step = 1.0
        for i=1:10
            Granular.run!(sim, single_step=true, verbose=false)
       -    Test.@test sizeof(sim) == empty_sim_size
       -    Test.@test Base.summarysize(sim) == empty_sim_size_recursive + 
       +    @test sizeof(sim) == empty_sim_size
       +    @test Base.summarysize(sim) == empty_sim_size_recursive + 
                sizeof(Int)*length(sim.grains) + 
                size_per_grain_recursive*length(sim.grains)
        end
       t@@ -80,8 +80,8 @@ Granular.addGrainCylindrical!(sim, [1., 1.], 1.9, 1., verbose=false)
        sim.time_step = 1.0
        for i=1:10
            Granular.run!(sim, single_step=true, verbose=false)
       -    Test.@test sizeof(sim) == empty_sim_size
       -    Test.@test Base.summarysize(sim) == empty_sim_size_recursive + 
       +    @test sizeof(sim) == empty_sim_size
       +    @test Base.summarysize(sim) == empty_sim_size_recursive + 
                sizeof(Int)*length(sim.grains) + 
                size_per_grain_recursive*length(sim.grains)
        end
       t@@ -97,7 +97,7 @@ Granular.run!(sim, single_step=true, verbose=false)
        original_size_recursive = Base.summarysize(sim)
        for i=1:10
            Granular.run!(sim, single_step=true, verbose=false)
       -    Test.@test Base.summarysize(sim) == original_size_recursive
       +    @test Base.summarysize(sim) == original_size_recursive
        end
        
        info("Checking if memory is freed after ended collision (all to all)")
       t@@ -109,7 +109,7 @@ Granular.setTotalTime!(sim, 10.0)
        Granular.setTimeStep!(sim, epsilon=0.07, verbose=false)
        original_size_recursive = Base.summarysize(sim)
        Granular.run!(sim, verbose=false)
       -Test.@test Base.summarysize(sim) == original_size_recursive
       +@test Base.summarysize(sim) == original_size_recursive
        
        info("Checking if memory is freed after ended collision (cell sorting)")
        sim = Granular.createSimulation(id="test")
       t@@ -125,10 +125,10 @@ original_grains_size_recursive = Base.summarysize(sim.grains)
        original_ocean_size_recursive = Base.summarysize(sim.ocean)
        original_atmosphere_size_recursive = Base.summarysize(sim.atmosphere)
        Granular.run!(sim, verbose=false)
       -Test.@test Base.summarysize(sim.grains) == original_grains_size_recursive
       -Test.@test Base.summarysize(sim.ocean) == original_ocean_size_recursive
       -Test.@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive
       -Test.@test Base.summarysize(sim) == original_sim_size_recursive
       +@test Base.summarysize(sim.grains) == original_grains_size_recursive
       +@test Base.summarysize(sim.ocean) == original_ocean_size_recursive
       +@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive
       +@test Base.summarysize(sim) == original_sim_size_recursive
        
        sim = Granular.createSimulation(id="test")
        Granular.addGrainCylindrical!(sim, [0., 0.], 10., 1., verbose=false)
       t@@ -143,10 +143,10 @@ original_grains_size_recursive = Base.summarysize(sim.grains)
        original_ocean_size_recursive = Base.summarysize(sim.ocean)
        original_atmosphere_size_recursive = Base.summarysize(sim.atmosphere)
        Granular.run!(sim, verbose=false)
       -Test.@test Base.summarysize(sim.grains) == original_grains_size_recursive
       -Test.@test Base.summarysize(sim.ocean) == original_ocean_size_recursive
       -Test.@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive
       -Test.@test Base.summarysize(sim) == original_sim_size_recursive
       +@test Base.summarysize(sim.grains) == original_grains_size_recursive
       +@test Base.summarysize(sim.ocean) == original_ocean_size_recursive
       +@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive
       +@test Base.summarysize(sim) == original_sim_size_recursive
        
        sim = Granular.createSimulation(id="test")
        Granular.addGrainCylindrical!(sim, [0., 0.], 10., 1., verbose=false)
       t@@ -162,9 +162,9 @@ original_grains_size_recursive = Base.summarysize(sim.grains)
        original_ocean_size_recursive = Base.summarysize(sim.ocean)
        original_atmosphere_size_recursive = Base.summarysize(sim.atmosphere)
        Granular.run!(sim, verbose=false)
       -Test.@test Base.summarysize(sim.grains) == original_grains_size_recursive
       -Test.@test Base.summarysize(sim.ocean) == original_ocean_size_recursive
       -Test.@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive
       -Test.@test Base.summarysize(sim) == original_sim_size_recursive
       +@test Base.summarysize(sim.grains) == original_grains_size_recursive
       +@test Base.summarysize(sim.ocean) == original_ocean_size_recursive
       +@test Base.summarysize(sim.atmosphere) == original_atmosphere_size_recursive
       +@test Base.summarysize(sim) == original_sim_size_recursive
        
        Granular.printMemoryUsage(sim)
 (DIR) diff --git a/test/netcdf.jl b/test/netcdf.jl
       t@@ -4,39 +4,39 @@
        
        info("#### $(basename(@__FILE__)) ####")
        
       -Test.@test_throws ErrorException Granular.readOceanStateNetCDF("nonexistentfile")
       -Test.@test_throws ErrorException Granular.readOceanGridNetCDF("nonexistentfile")
       +@test_throws ErrorException Granular.readOceanStateNetCDF("nonexistentfile")
       +@test_throws ErrorException Granular.readOceanGridNetCDF("nonexistentfile")
        
        info("Testing dimensions of content read from Baltic test case")
        ocean = Granular.readOceanNetCDF("Baltic/00010101.ocean_month.nc",
                                       "Baltic/ocean_hgrid.nc")
       -Test.@test ocean.time/(24.*60.*60.) ≈ [.5, 1.5, 2.5, 3.5, 4.5]
       -Test.@test size(ocean.xq) == (24, 15)
       -Test.@test size(ocean.yq) == (24, 15)
       -Test.@test size(ocean.xh) == (23, 14)
       -Test.@test size(ocean.yh) == (23, 14)
       -Test.@test size(ocean.u) == (24, 15, 63, 5)
       -Test.@test size(ocean.v) == (24, 15, 63, 5)
       -Test.@test size(ocean.h) == (23, 14, 63, 5)
       -Test.@test size(ocean.e) == (23, 14, 64, 5)
       +@test ocean.time/(24.*60.*60.) ≈ [.5, 1.5, 2.5, 3.5, 4.5]
       +@test size(ocean.xq) == (24, 15)
       +@test size(ocean.yq) == (24, 15)
       +@test size(ocean.xh) == (23, 14)
       +@test size(ocean.yh) == (23, 14)
       +@test size(ocean.u) == (24, 15, 63, 5)
       +@test size(ocean.v) == (24, 15, 63, 5)
       +@test size(ocean.h) == (23, 14, 63, 5)
       +@test size(ocean.e) == (23, 14, 64, 5)
        
        info("Testing ocean state interpolation")
       -Test.@test_throws ErrorException Granular.interpolateOceanState(ocean, time=0.)
       -Test.@test_throws ErrorException Granular.interpolateOceanState(ocean, time=1.e34)
       +@test_throws ErrorException Granular.interpolateOceanState(ocean, time=0.)
       +@test_throws ErrorException Granular.interpolateOceanState(ocean, time=1.e34)
        u1, v1, h1, e1 = Granular.interpolateOceanState(ocean, ocean.time[1])
        u2, v2, h2, e2 = Granular.interpolateOceanState(ocean, ocean.time[2])
       -Test.@test_throws ErrorException Granular.interpolateOceanState(ocean, -1.)
       +@test_throws ErrorException Granular.interpolateOceanState(ocean, -1.)
        u1_5, v1_5, h1_5, e1_5 = Granular.interpolateOceanState(ocean,
            ocean.time[1] + (ocean.time[2] - ocean.time[1])/2.)
       -Test.@test u1 ≈ ocean.u[:, :, :, 1]
       -Test.@test v1 ≈ ocean.v[:, :, :, 1]
       -Test.@test h1 ≈ ocean.h[:, :, :, 1]
       -Test.@test e1 ≈ ocean.e[:, :, :, 1]
       -Test.@test u2 ≈ ocean.u[:, :, :, 2]
       -Test.@test v2 ≈ ocean.v[:, :, :, 2]
       -Test.@test h2 ≈ ocean.h[:, :, :, 2]
       -Test.@test e2 ≈ ocean.e[:, :, :, 2]
       -Test.@test u1_5 ≈ (ocean.u[:, :, :, 1] + ocean.u[:, :, :, 2])/2.
       -Test.@test v1_5 ≈ (ocean.v[:, :, :, 1] + ocean.v[:, :, :, 2])/2.
       -Test.@test h1_5 ≈ (ocean.h[:, :, :, 1] + ocean.h[:, :, :, 2])/2.
       -Test.@test e1_5 ≈ (ocean.e[:, :, :, 1] + ocean.e[:, :, :, 2])/2.
       +@test u1 ≈ ocean.u[:, :, :, 1]
       +@test v1 ≈ ocean.v[:, :, :, 1]
       +@test h1 ≈ ocean.h[:, :, :, 1]
       +@test e1 ≈ ocean.e[:, :, :, 1]
       +@test u2 ≈ ocean.u[:, :, :, 2]
       +@test v2 ≈ ocean.v[:, :, :, 2]
       +@test h2 ≈ ocean.h[:, :, :, 2]
       +@test e2 ≈ ocean.e[:, :, :, 2]
       +@test u1_5 ≈ (ocean.u[:, :, :, 1] + ocean.u[:, :, :, 2])/2.
       +@test v1_5 ≈ (ocean.v[:, :, :, 1] + ocean.v[:, :, :, 2])/2.
       +@test h1_5 ≈ (ocean.h[:, :, :, 1] + ocean.h[:, :, :, 2])/2.
       +@test e1_5 ≈ (ocean.e[:, :, :, 1] + ocean.e[:, :, :, 2])/2.
 (DIR) diff --git a/test/ocean.jl b/test/ocean.jl
       t@@ -8,24 +8,24 @@ info("#### $(basename(@__FILE__)) ####")
        info("Testing regular grid generation")
        sim = Granular.createSimulation()
        sim.ocean = Granular.createRegularOceanGrid([6, 6, 6], [1., 1., 1.])
       -Test.@test size(sim.ocean.xq) == (7, 7)
       -Test.@test size(sim.ocean.yq) == (7, 7)
       -Test.@test size(sim.ocean.xh) == (6, 6)
       -Test.@test size(sim.ocean.yh) == (6, 6)
       -Test.@test sim.ocean.xq[1, :, 1] ≈ zeros(7)
       -Test.@test sim.ocean.xq[4, :, 1] ≈ .5*ones(7)
       -Test.@test sim.ocean.xq[end, :, 1] ≈ 1.*ones(7)
       -Test.@test sim.ocean.yq[:, 1, 1] ≈ zeros(7)
       -Test.@test sim.ocean.yq[:, 4, 1] ≈ .5*ones(7)
       -Test.@test sim.ocean.yq[:, end, 1] ≈ 1.*ones(7)
       -Test.@test size(sim.ocean.u) == (7, 7, 6, 1)
       -Test.@test size(sim.ocean.v) == (7, 7, 6, 1)
       -Test.@test size(sim.ocean.h) == (7, 7, 6, 1)
       -Test.@test size(sim.ocean.e) == (7, 7, 6, 1)
       -Test.@test sim.ocean.u ≈ zeros(7, 7, 6, 1)
       -Test.@test sim.ocean.v ≈ zeros(7, 7, 6, 1)
       -Test.@test sim.ocean.h ≈ zeros(7, 7, 6, 1)
       -Test.@test sim.ocean.e ≈ zeros(7, 7, 6, 1)
       +@test size(sim.ocean.xq) == (7, 7)
       +@test size(sim.ocean.yq) == (7, 7)
       +@test size(sim.ocean.xh) == (6, 6)
       +@test size(sim.ocean.yh) == (6, 6)
       +@test sim.ocean.xq[1, :, 1] ≈ zeros(7)
       +@test sim.ocean.xq[4, :, 1] ≈ .5*ones(7)
       +@test sim.ocean.xq[end, :, 1] ≈ 1.*ones(7)
       +@test sim.ocean.yq[:, 1, 1] ≈ zeros(7)
       +@test sim.ocean.yq[:, 4, 1] ≈ .5*ones(7)
       +@test sim.ocean.yq[:, end, 1] ≈ 1.*ones(7)
       +@test size(sim.ocean.u) == (7, 7, 6, 1)
       +@test size(sim.ocean.v) == (7, 7, 6, 1)
       +@test size(sim.ocean.h) == (7, 7, 6, 1)
       +@test size(sim.ocean.e) == (7, 7, 6, 1)
       +@test sim.ocean.u ≈ zeros(7, 7, 6, 1)
       +@test sim.ocean.v ≈ zeros(7, 7, 6, 1)
       +@test sim.ocean.h ≈ zeros(7, 7, 6, 1)
       +@test sim.ocean.e ≈ zeros(7, 7, 6, 1)
        
        info("Testing velocity drag interaction (static ocean)")
        Granular.addGrainCylindrical!(sim, [.5, .5], .25, .1)
       t@@ -38,10 +38,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       -Test.@test E_kin_lin_init > E_kin_lin_final  # linear velocity lost due to ocean drag
       -Test.@test sim.grains[1].ocean_stress[1] < 0.
       -Test.@test sim.grains[1].ocean_stress[2] ≈ 0.
       +@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       +@test E_kin_lin_init > E_kin_lin_final  # linear velocity lost due to ocean drag
       +@test sim.grains[1].ocean_stress[1] < 0.
       +@test sim.grains[1].ocean_stress[2] ≈ 0.
        
        info("Testing velocity drag interaction (static ice floe)")
        sim = deepcopy(sim_init)
       t@@ -51,10 +51,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       -Test.@test E_kin_lin_init < E_kin_lin_final  # linear vel. gained due to ocean drag
       -Test.@test sim.grains[1].ocean_stress[1] ≈ 0.
       -Test.@test sim.grains[1].ocean_stress[2] > 0.
       +@test E_kin_rot_init ≈ E_kin_rot_final  # no rotation before or after
       +@test E_kin_lin_init < E_kin_lin_final  # linear vel. gained due to ocean drag
       +@test sim.grains[1].ocean_stress[1] ≈ 0.
       +@test sim.grains[1].ocean_stress[2] > 0.
        
        info("Testing vortex interaction (static ocean)")
        sim = deepcopy(sim_init)
       t@@ -64,10 +64,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test E_kin_rot_init > E_kin_rot_final  # energy lost to ocean
       -Test.@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test E_kin_rot_init > E_kin_rot_final  # energy lost to ocean
       +@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        info("Testing vortex interaction (static ice floe)")
        sim = deepcopy(sim_init)
       t@@ -81,10 +81,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = deepcopy(sim_init)
        sim.ocean = Granular.createRegularOceanGrid([1, 1, 1], [1., 1., 1.])
       t@@ -97,10 +97,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = deepcopy(sim_init)
        sim.ocean = Granular.createRegularOceanGrid([1, 1, 1], [1., 1., 1.])
       t@@ -113,10 +113,10 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel < 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos < 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
        
        sim = deepcopy(sim_init)
        sim.ocean = Granular.createRegularOceanGrid([1, 1, 1], [1., 1., 1.])
       t@@ -129,7 +129,7 @@ E_kin_rot_init = Granular.totalGrainKineticRotationalEnergy(sim)
        Granular.run!(sim, verbose=false)
        E_kin_lin_final = Granular.totalGrainKineticTranslationalEnergy(sim)
        E_kin_rot_final = Granular.totalGrainKineticRotationalEnergy(sim)
       -Test.@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       -Test.@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       -Test.@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       -Test.@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
       +@test sim.grains[1].ang_vel > 0.     # check angular velocity orientation
       +@test sim.grains[1].ang_pos > 0.     # check angular position orientation
       +@test E_kin_rot_init < E_kin_rot_final  # rotation after due to ocean vortex
       +@test E_kin_lin_init ≈ E_kin_lin_final  # no linear velocity gained
 (DIR) diff --git a/test/packing.jl b/test/packing.jl
       t@@ -7,31 +7,31 @@ info("#### $(basename(@__FILE__)) ####")
        info("Testing regular packing generation (power law GSD)")
        sim = Granular.createSimulation()
        Granular.regularPacking!(sim, [2, 2], 1., 1., size_distribution="powerlaw")
       -Test.@test 4 == length(sim.grains)
       +@test 4 == length(sim.grains)
        for grain in sim.grains
       -    Test.@test grain.contact_radius ≈ 1.
       +    @test grain.contact_radius ≈ 1.
        end
        
        sim = Granular.createSimulation()
        Granular.regularPacking!(sim, [10, 10], 1., 10., size_distribution="powerlaw")
       -Test.@test 100 == length(sim.grains)
       +@test 100 == length(sim.grains)
        for grain in sim.grains
       -    Test.@test grain.contact_radius >= 1.
       -    Test.@test grain.contact_radius <= 10.
       +    @test grain.contact_radius >= 1.
       +    @test grain.contact_radius <= 10.
        end
        
        info("Testing regular packing generation (uniform GSD)")
        sim = Granular.createSimulation()
        Granular.regularPacking!(sim, [2, 2], 1., 1., size_distribution="uniform")
       -Test.@test 4 == length(sim.grains)
       +@test 4 == length(sim.grains)
        for grain in sim.grains
       -    Test.@test grain.contact_radius ≈ 1.
       +    @test grain.contact_radius ≈ 1.
        end
        
        sim = Granular.createSimulation()
        Granular.regularPacking!(sim, [10, 10], 1., 10., size_distribution="uniform")
       -Test.@test 100 == length(sim.grains)
       +@test 100 == length(sim.grains)
        for grain in sim.grains
       -    Test.@test grain.contact_radius >= 1.
       -    Test.@test grain.contact_radius <= 10.
       +    @test grain.contact_radius >= 1.
       +    @test grain.contact_radius <= 10.
        end
 (DIR) diff --git a/test/profiling.jl b/test/profiling.jl
       t@@ -1,8 +1,13 @@
        #!/usr/bin/env julia
       +using Compat
       +if VERSION < v"0.7.0-DEV.2004"
       +    using Base.Test
       +else
       +    using Test
       +end
        import Plots
        import Granular
        import CurveFit
       -using Base.Test
        
        info("#### $(basename(@__FILE__)) ####")
        
       t@@ -79,12 +84,12 @@ function timeSingleStepInDenseSimulation(nx::Int; verbose::Bool=true,
        
            #Granular.writeVTK(sim)
        
       -    Test.@test sim.grains[1].n_contacts == 0
       -    Test.@test sim.grains[2].n_contacts == 1
       -    Test.@test sim.grains[3].n_contacts == 1
       -    Test.@test sim.grains[nx].n_contacts == 0
       -    Test.@test sim.grains[nx + 1].n_contacts == 1
       -    Test.@test sim.grains[nx + 2].n_contacts == 4
       +    @test sim.grains[1].n_contacts == 0
       +    @test sim.grains[2].n_contacts == 1
       +    @test sim.grains[3].n_contacts == 1
       +    @test sim.grains[nx].n_contacts == 0
       +    @test sim.grains[nx + 1].n_contacts == 1
       +    @test sim.grains[nx + 2].n_contacts == 4
            return t_elapsed, Base.summarysize(sim)
        end
        
 (DIR) diff --git a/test/runtests.jl b/test/runtests.jl
       t@@ -1,3 +1,9 @@
       +using Compat
       +if VERSION < v"0.7.0-DEV.2004"
       +    using Base.Test
       +else
       +    using Test
       +end
        import Granular
        
        include("grain.jl")
 (DIR) diff --git a/test/temporal.jl b/test/temporal.jl
       t@@ -1,20 +1,20 @@
        info("Testing temporal functionality")
        
        sim = Granular.createSimulation()
       -Test.@test_throws ErrorException Granular.setTimeStep!(sim)
       +@test_throws ErrorException Granular.setTimeStep!(sim)
        
        Granular.setOutputFileInterval!(sim, 1e-9)
       -Test.@test_throws ErrorException Granular.setTotalTime!(sim, 0.)
       -Test.@test_throws ErrorException Granular.setCurrentTime!(sim, 0.)
       +@test_throws ErrorException Granular.setTotalTime!(sim, 0.)
       +@test_throws ErrorException Granular.setCurrentTime!(sim, 0.)
        Granular.setCurrentTime!(sim, 1.)
       -Test.@test sim.time ≈ 1.0
       -Test.@test_throws ErrorException Granular.incrementCurrentTime!(sim, 0.)
       +@test sim.time ≈ 1.0
       +@test_throws ErrorException Granular.incrementCurrentTime!(sim, 0.)
        Granular.setOutputFileInterval!(sim, 0.)
        Granular.disableOutputFiles!(sim)
       -Test.@test_throws ErrorException Granular.checkTimeParameters(sim)
       +@test_throws ErrorException Granular.checkTimeParameters(sim)
        Granular.addGrainCylindrical!(sim, [.1,.1], 2., 2.)
        sim.grains[1].mass = 0.
       -Test.@test_throws ErrorException Granular.setTimeStep!(sim)
       +@test_throws ErrorException Granular.setTimeStep!(sim)
        
        sim = Granular.createSimulation()
        sim2 = Granular.createSimulation()
 (DIR) diff --git a/test/util.jl b/test/util.jl
       t@@ -4,23 +4,23 @@ info("#### $(basename(@__FILE__)) ####")
        
        info("Testing power-law RNG")
        
       -Test.@test 1 == length(Granular.randpower())
       -Test.@test () == size(Granular.randpower())
       -Test.@test 1 == length(Granular.randpower(1))
       -Test.@test () == size(Granular.randpower(1))
       -Test.@test 4 == length(Granular.randpower((2,2)))
       -Test.@test (2,2) == size(Granular.randpower((2,2)))
       -Test.@test 5 == length(Granular.randpower(5))
       -Test.@test (5,) == size(Granular.randpower(5))
       +@test 1 == length(Granular.randpower())
       +@test () == size(Granular.randpower())
       +@test 1 == length(Granular.randpower(1))
       +@test () == size(Granular.randpower(1))
       +@test 4 == length(Granular.randpower((2,2)))
       +@test (2,2) == size(Granular.randpower((2,2)))
       +@test 5 == length(Granular.randpower(5))
       +@test (5,) == size(Granular.randpower(5))
        
        srand(1)
        for i=1:10^5
       -    Test.@test 0. <= Granular.randpower() <= 1.
       -    Test.@test 0. <= Granular.randpower(1, 1., 0., 1.) <= 1.
       -    Test.@test 0. <= Granular.randpower(1, 1., 0., .1) <= .1
       -    Test.@test 5. <= Granular.randpower(1, 1., 5., 6.) <= 6.
       -    Test.@test 0. <= minimum(Granular.randpower((2,2), 1., 0., 1.))
       -    Test.@test 1. >= maximum(Granular.randpower((2,2), 1., 0., 1.))
       -    Test.@test 0. <= minimum(Granular.randpower(5, 1., 0., 1.))
       -    Test.@test 1. >= minimum(Granular.randpower(5, 1., 0., 1.))
       +    @test 0. <= Granular.randpower() <= 1.
       +    @test 0. <= Granular.randpower(1, 1., 0., 1.) <= 1.
       +    @test 0. <= Granular.randpower(1, 1., 0., .1) <= .1
       +    @test 5. <= Granular.randpower(1, 1., 5., 6.) <= 6.
       +    @test 0. <= minimum(Granular.randpower((2,2), 1., 0., 1.))
       +    @test 1. >= maximum(Granular.randpower((2,2), 1., 0., 1.))
       +    @test 0. <= minimum(Granular.randpower(5, 1., 0., 1.))
       +    @test 1. >= minimum(Granular.randpower(5, 1., 0., 1.))
        end
 (DIR) diff --git a/test/vtk.jl b/test/vtk.jl
       t@@ -41,10 +41,10 @@ oceanchecksum =
        "d56ffb109841a803f2b2b94c74c87f7a497237204841d557d2b1043694d51f0d  " *
        oceanpath * "\n"
        
       -Test.@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum
       -Test.@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == 
       +@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum
       +@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == 
            graininteractionchecksum
       -Test.@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum
       +@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum
        
        Granular.removeSimulationFiles(sim)
        
       t@@ -54,7 +54,7 @@ Granular.setTotalTime!(sim, 1.5)
        Granular.setTimeStep!(sim)
        sim.file_number = 0
        Granular.run!(sim, single_step=true)
       -Test.@test Granular.readSimulationStatus(sim.id) == 1
       +@test Granular.readSimulationStatus(sim.id) == 1
        Granular.setOutputFileInterval!(sim, 0.1)
        Granular.run!(sim)
        
       t@@ -64,14 +64,14 @@ info("Testing generation of Paraview Python script")
        Granular.writeParaviewPythonScript(sim,
                                         save_animation=true,
                                         save_images=false)
       -Test.@test isfile("$(sim.id)/$(sim.id).py") && filesize("$(sim.id)/$(sim.id).py") > 0
       +@test isfile("$(sim.id)/$(sim.id).py") && filesize("$(sim.id)/$(sim.id).py") > 0
        
        info("Testing Paraview rendering if `pvpython` is present")
        try
            run(`pvpython $(sim.id)/$(sim.id).py`)
        catch return_signal
            if !isa(return_signal, Base.UVError)
       -        Test.@test isfile("$(sim.id)/$(sim.id).avi")
       +        @test isfile("$(sim.id)/$(sim.id).avi")
            end
        end
        
       t@@ -82,16 +82,16 @@ try
            run(`pvpython $(sim.id)/$(sim.id).py`)
        catch return_signal
            if !isa(return_signal, Base.UVError)
       -        Test.@test isfile("$(sim.id)/$(sim.id).0000.png")
       -        Test.@test isfile("$(sim.id)/$(sim.id).0014.png")
       +        @test isfile("$(sim.id)/$(sim.id).0000.png")
       +        @test isfile("$(sim.id)/$(sim.id).0014.png")
                Granular.render(sim)
       -        Test.@test isfile("$(sim.id)/$(sim.id).0001.png")
       +        @test isfile("$(sim.id)/$(sim.id).0001.png")
            end
        end
        
       -Test.@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum
       -Test.@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == 
       +@test readstring(`$(cmd) $(grainpath)$(cmd_post)`) == grainchecksum
       +@test readstring(`$(cmd) $(graininteractionpath)$(cmd_post)`) == 
            graininteractionchecksum
       -Test.@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum
       +@test readstring(`$(cmd) $(oceanpath)$(cmd_post)`) == oceanchecksum
        
        Granular.removeSimulationFiles(sim)