@@ -0,0 +1,2585 @@
+/**%0A * Licensed to the Apache Software Foundation (ASF) under one or more%0A * contributor license agreements.  See the NOTICE file distributed with%0A * this work for additional information regarding copyright ownership.%0A * The ASF licenses this file to You under the Apache License, Version 2.0%0A * (the %22License%22); you may not use this file except in compliance with%0A * the License.  You may obtain a copy of the License at%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage org.apache.bigtop.bazaar.datagenerator.potentials;%0A%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.assertTrue;%0A%0Aimport org.apache.bigtop.bazaar.datagenerator.base.Vec2D;%0Aimport org.junit.Test;%0A%0A%0Apublic class TestSphericalBoundaryConditions%0A%7B%0A%09static final double EPS = 1e-5;%0A%09%0A%09@Test%0A%09public void testInside()%0A%09%7B%0A%09%09final double radius = 3.0;%0A%09%09final double strength = 2.0;%0A%09%09final Vec2D center = new Vec2D(0.0, 0.0);%0A%09%09%0A%09%09final double expectedPE = 0.0;%0A%09%09%0A%09%09Potential potential = new SphericalBoundaryConditions(center, radius, strength);%0A%09%09potential.update(new Vec2D%5B%5D%7Bcenter%7D);%0A%09%09final double observedPE = potential.getEnergy();%0A%09%09%0A%09%09assertEquals(%22Observed PE: %22 + observedPE + %22, expected PE: %22 + expectedPE,%0A%09%09%09%09expectedPE, observedPE, EPS);%0A%09%7D%0A%09%0A%09@Test%0A%09public void testBoundary()%0A%09%7B%0A%09%09final double radius = 3.0;%0A%09%09final double strength = 2.0;%0A%09%09final Vec2D center = new Vec2D(0.0, 0.0);%0A%09%09final Vec2D particleLocation = new Vec2D(3.0, 0.0);%0A%09%09%0A%09%09final double expectedPE = 0.0;%0A%09%09%0A%09%09Potential potential = new SphericalBoundaryConditions(center, radius, strength);%0A%09%09potential.update(new Vec2D%5B%5D%7BparticleLocation%7D);%0A%09%09final double observedPE = potential.getEnergy();%0A%09%09%0A%09%09%0A%09%09assertEquals(%22Observed PE: %22 + observedPE + %22, expected PE: %22 + expectedPE,%0A%09%09%09%09expectedPE, observedPE, EPS);%0A%09%7D%0A%09%0A%09@Test%0A%09public void testOutside()%0A%09%7B%0A%09%09final double radius = 3.0;%0A%09%09final double strength = 2.0;%0A%09%09final Vec2D center = new Vec2D(0.0, 0.0);%0A%09%09final Vec2D particleLocation = new Vec2D(4.0, 0.0);%0A%09%09%0A%09%09Potential potential = new SphericalBoundaryConditions(center, radius, strength);%0A%09%09potential.update(new Vec2D%5B%5D%7BparticleLocation%7D);%0A%09%09final double observedPE = potential.getEnergy();%0A%09%09%0A%09%09%0A%09%09assertTrue(%22Observed PE: %22 + observedPE, observedPE %3E 0.0);%0A%09%7D%0A%7D%0A%0A%0A

Add test for boundary conditions