Skip to content

Commit

Permalink
Added FakeComponentModule DI to unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
calclavia committed Sep 10, 2015
1 parent 6924aa9 commit 19a9a69
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/test/java/nova/wrappertests/NovaLauncherTestFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import nova.internal.core.launch.NovaLauncher;
import nova.testutils.FakeBlock;
import nova.wrappertests.depmodules.FakeClientModule;
import nova.wrappertests.depmodules.FakeComponentModule;
import nova.wrappertests.depmodules.FakeGameInfoModule;
import nova.wrappertests.depmodules.FakeKeyModule;
import nova.wrappertests.depmodules.FakeLanguageModule;
Expand All @@ -40,6 +41,7 @@
import java.util.List;

/**
* A factory that allows a mod to easily unit test launching with NOVA.
* @author Calclavia
*/
public class NovaLauncherTestFactory {
Expand All @@ -59,6 +61,7 @@ public List<Class<? extends Bundle>> getModules() {
FakeRenderModule.class,
FakeSaveModule.class,
FakeTickerModule.class,
FakeComponentModule.class,
FakeGameInfoModule.class
);
}
Expand Down
115 changes: 115 additions & 0 deletions src/test/java/nova/wrappertests/depmodules/FakeComponentModule.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
/*
* Copyright (c) 2015 NOVA, All rights reserved.
* This library is free software, licensed under GNU Lesser General Public License version 3
*
* This file is part of NOVA.
*
* NOVA is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* NOVA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NOVA. If not, see <http://www.gnu.org/licenses/>.
*/

package nova.wrappertests.depmodules;

import nova.core.entity.component.RigidBody;
import org.apache.commons.math3.geometry.euclidean.threed.Rotation;
import org.apache.commons.math3.geometry.euclidean.threed.Vector3D;
import se.jbee.inject.bind.BinderModule;

/**
* @author Calclavia
*/
public class FakeComponentModule extends BinderModule {

@Override
protected void declare() {
bind(RigidBody.class).to(FakeRigidBody.class);
}

public static class FakeRigidBody extends RigidBody {
@Override
public double getMass() {
return 0;
}

@Override
public void setMass(double mass) {

}

@Override
public Vector3D getVelocity() {
return null;
}

@Override
public void setVelocity(Vector3D velocity) {

}

@Override
public double getDrag() {
return 0;
}

@Override
public void setDrag(double drag) {

}

@Override
public Vector3D getGravity() {
return null;
}

@Override
public void setGravity(Vector3D gravity) {

}

@Override
public double getAngularDrag() {
return 0;
}

@Override
public void setAngularDrag(double angularDrag) {

}

@Override
public Rotation getAngularVelocity() {
return null;
}

@Override
public void setAngularVelocity(Rotation angularVelocity) {

}

@Override
public void addForce(Vector3D force) {

}

@Override
public void addForce(Vector3D force, Vector3D position) {

}

@Override
public void addTorque(Vector3D torque) {

}
}

}

0 comments on commit 19a9a69

Please sign in to comment.