Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. namespace MHS {
  2. interface ISpinner {
  3. public void spin(Vector3 value);
  4. }
  5.  
  6. [Serializable]
  7. public SpinController { //we can instantiate this in a test
  8. public float speed;
  9. public Vector3 axis;
  10.  
  11. private ISpinner spinner;
  12. public void setSpinController(ISpinController spinner) {
  13. this.spinner = spinner;
  14. }
  15.  
  16. public void doStuffBasedOnTime(float time) {
  17. spinner.spin(time);
  18. }
  19.  
  20. }
  21.  
  22. public Spinner : GameBehavior, ISpinner { // we cannot instantiate this in a test
  23. public SpinController controller;
  24.  
  25. void OnEnable() {
  26. controller.SetSpinController(this);
  27. }
  28.  
  29. void Update() {
  30. controller.doStuffBasedOnTime(Time.deltaTime);
  31. }
  32.  
  33. //ISpinner implementation:
  34. public void spin(Vector3 value) {
  35. transform.Rotate(value);
  36. }
  37. }
  38. }
  39.  
  40. namespace MHS.Tests {
  41. [TestFixture]
  42. public class SpinnerTest {
  43.  
  44. }
  45.  
  46. [Test]
  47. public void objectSpinsBasedOnTimeAndAxis() {
  48. //arrange
  49. SpinController controller = ...;
  50. ISpinner spinner = ...;
  51. controller.speed = 5f;
  52. controller.axis = new Vector3(0,1,0);
  53. controller.SetSpinner(spinner);
  54.  
  55. //act
  56. controller.doStuffBasedOnTime(0.02f);
  57.  
  58. //assert
  59. Assert.AreEqual(spinner.rotation, controller.axis*controller.speed);
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement