Skip to content

Commit

Permalink
Update unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
qcapen committed Jun 18, 2019
1 parent 984b96c commit eb474e5
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 116 deletions.
117 changes: 71 additions & 46 deletions Assets/BCP/Scripts/Tests/Editor/BcpMessageTests.cs
@@ -1,7 +1,4 @@
using UnityEngine;
using UnityEditor;
using NUnit.Framework;
using NSubstitute;
using NUnit.Framework;

public class BcpMessageTests {

Expand All @@ -11,34 +8,53 @@ public class BcpMessageTests {
[Test]
public void TestStringToBcpMessage()
{
BcpMessage message1 = BcpMessageManager.StringToBcpMessage("hello");
BcpMessage message1 = BcpMessage.CreateFromRawMessage("hello");
Assert.AreEqual(message1.Command, "hello");

BcpMessage message2 = BcpMessageManager.StringToBcpMessage("test?param1=value1&Param2=vALue2");
BcpMessage message2 = BcpMessage.CreateFromRawMessage("test?param1=value1&Param2=vALue2");
Assert.AreEqual(message2.Command, "test");
Assert.AreEqual(message2.Parameters.Keys.Count, 2);
Assert.AreEqual(message2.Parameters["param1"], "value1");
Assert.Contains("param1", message2.Parameters.Keys);
Assert.Contains("param2", message2.Parameters.Keys);
Assert.AreNotEqual(message2.Parameters["param2"], "value2");
Assert.AreEqual(message2.Parameters["param2"], "vALue2");
Assert.AreEqual(message2.Parameters["Param2"], "vALue2");
Assert.AreEqual(message2.Parameters["Param2"].Value, string.Empty);

BcpMessage message3 = BcpMessage.CreateFromRawMessage("testing?param1=int:234&param2=float:45.34&param3");
Assert.AreEqual(message3.Command, "testing");
Assert.True(message3.Parameters["param1"].IsNumber);
Assert.AreEqual(message3.Parameters["param1"].AsInt, 234);
Assert.True(message3.Parameters["param2"].IsNumber);
Assert.AreEqual(message3.Parameters["param2"].AsFloat, 45.34f);
Assert.True(message3.Parameters["param3"].IsNull);
Assert.AreEqual(message3.Parameters["param3"].Tag, BCP.SimpleJSON.JSONNodeType.NullValue);
Assert.AreEqual(message3.Parameters["param3"].Value, "null");

BcpMessage message4 = BcpMessage.CreateFromRawMessage("test_json?json%3D%7B%22src%22%3A%22Images%2FSun.png%22%2C%22name%22%3A%22sun1%22%2C%22hOffset%22%3A250%2C%22vOffset%22%3A250%2C%22alignment%22%3A%22center%22%7D");
Assert.AreEqual(message4.Command, "test_json");
Assert.True(message4.Parameters["src"].IsString);
Assert.AreEqual(message4.Parameters["src"], "Images/Sun.png");
Assert.True(message4.Parameters["name"].IsString);
Assert.AreEqual(message4.Parameters["name"], "sun1");
Assert.True(message4.Parameters["hOffset"].IsNumber);
Assert.AreEqual(message4.Parameters["hOffset"].AsInt, 250);
Assert.True(message4.Parameters["vOffset"].IsNumber);
Assert.AreEqual(message4.Parameters["vOffset"].AsInt, 250);
Assert.True(message4.Parameters["alignment"].IsString);
Assert.AreEqual(message4.Parameters["alignment"], "center");
}

[Test]
[ExpectedException(typeof(BcpMessageException))]
public void TestUnknownMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("unknown?param1=noneType");
controller.ProcessMessage(message);
BcpMessage message = BcpMessage.CreateFromRawMessage("unknown?param1=noneType");
Assert.Throws<BcpMessageException>(() => controller.ProcessMessage(message, false));
}

[Test]
public void TestHelloMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("hello?version=1.1&controller_name=Unity%20Test%20Runner&controller_version=1.0");
BcpMessage message = BcpMessage.CreateFromRawMessage("hello?version=1.1&controller_name=Unity%20Test%20Runner&controller_version=1.0");

var eventRaised = false;
BcpMessageController.OnHello += (name, args) => eventRaised = true;
Expand All @@ -51,7 +67,7 @@ public void TestHelloMessage()
public void TestGoodbyeMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("goodbye");
BcpMessage message = BcpMessage.CreateFromRawMessage("goodbye");

var eventRaised = false;
BcpMessageController.OnGoodbye += (name, args) => eventRaised = true;
Expand All @@ -68,43 +84,52 @@ public void TestSwitchMessage()
var eventRaised = false;
BcpMessageController.OnSwitch += (name, args) => eventRaised = true;

BcpMessage message = BcpMessageManager.StringToBcpMessage("switch?name=s_test&state=int:1");
BcpMessage message = BcpMessage.CreateFromRawMessage("switch?name=s_test&state=int:1");
controller.ProcessMessage(message);
Assert.True(eventRaised);
}

[Test]
[ExpectedException(typeof(BcpMessageException))]
public void TestSwitchMessageBadFormat1()
{
var eventRaised = false;
BcpMessageController.OnSwitch += (name, args) => eventRaised = true;

BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("switch");
controller.ProcessMessage(message);
BcpMessage message = BcpMessage.CreateFromRawMessage("switch");
Assert.False(eventRaised);
Assert.Throws<BcpMessageException>(() => controller.ProcessMessage(message));
}

[Test]
[ExpectedException(typeof(BcpMessageException))]
public void TestSwitchMessageBadFormat2()
{
var eventRaised = false;
BcpMessageController.OnSwitch += (name, args) => eventRaised = true;

BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("switch?name=s_test");
controller.ProcessMessage(message);
BcpMessage message = BcpMessage.CreateFromRawMessage("switch?name=s_test");
Assert.False(eventRaised);
Assert.Throws<BcpMessageException>(() => controller.ProcessMessage(message));
}

[Test]
[ExpectedException(typeof(BcpMessageException))]
public void TestSwitchMessageBadFormat3()
{
var eventRaised = false;
BcpMessageController.OnSwitch += (name, args) => eventRaised = true;

BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("switch?name=s_test&state=zzz");
controller.ProcessMessage(message);
BcpMessage message = BcpMessage.CreateFromRawMessage("switch?name=s_test&state=zzz");
Assert.False(eventRaised);
Assert.Throws<BcpMessageException>(() => controller.ProcessMessage(message));
}

[Test]
public void TestBallStartMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("ball_start?player_num=int:1&ball=int:1");
BcpMessage message = BcpMessage.CreateFromRawMessage("ball_start?player_num=int:1&ball=int:1");

var eventRaised = false;
BcpMessageController.OnBallStart += (name, args) => eventRaised = true;
Expand All @@ -117,7 +142,7 @@ public void TestBallStartMessage()
public void TestBallEndMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("ball_end");
BcpMessage message = BcpMessage.CreateFromRawMessage("ball_end");

var eventRaised = false;
BcpMessageController.OnBallEnd += (name, args) => eventRaised = true;
Expand All @@ -130,7 +155,7 @@ public void TestBallEndMessage()
public void TestModeStartMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("mode_start?name=test&priority=int:1");
BcpMessage message = BcpMessage.CreateFromRawMessage("mode_start?name=test&priority=int:1");

var eventRaised = false;
BcpMessageController.OnModeStart += (name, args) => eventRaised = true;
Expand All @@ -143,7 +168,7 @@ public void TestModeStartMessage()
public void TestModeStopMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("mode_stop?name=test");
BcpMessage message = BcpMessage.CreateFromRawMessage("mode_stop?name=test");

var eventRaised = false;
BcpMessageController.OnModeStop += (name, args) => eventRaised = true;
Expand All @@ -156,7 +181,7 @@ public void TestModeStopMessage()
public void TestPlayerAddedMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("player_added?player_num=int:1");
BcpMessage message = BcpMessage.CreateFromRawMessage("player_added?player_num=int:1");

var eventRaised = false;
BcpMessageController.OnPlayerAdded += (name, args) => eventRaised = true;
Expand All @@ -169,7 +194,7 @@ public void TestPlayerAddedMessage()
public void TestPlayerTurnStartMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("player_turn_start?player_num=int:1");
BcpMessage message = BcpMessage.CreateFromRawMessage("player_turn_start?player_num=int:1");

var eventRaised = false;
BcpMessageController.OnPlayerTurnStart += (name, args) => eventRaised = true;
Expand All @@ -182,7 +207,7 @@ public void TestPlayerTurnStartMessage()
public void TestPlayerVariableMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("player_variable?name=test&player_num=1&value=abc&prev_value=&change=");
BcpMessage message = BcpMessage.CreateFromRawMessage("player_variable?name=test&player_num=1&value=abc&prev_value=&change=");

var eventRaised = false;
BcpMessageController.OnPlayerVariable += (name, args) => eventRaised = true;
Expand All @@ -195,7 +220,7 @@ public void TestPlayerVariableMessage()
public void TestPlayerScoreMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("player_variable?name=score&player_num=1&value=int:1234&prev_value=int:0&change=int:1234");
BcpMessage message = BcpMessage.CreateFromRawMessage("player_variable?name=score&player_num=1&value=int:1234&prev_value=int:0&change=int:1234");

var variableEventRaised = false;
var scoreEventRaised = false;
Expand All @@ -211,7 +236,7 @@ public void TestPlayerScoreMessage()
public void TestTriggerMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=test");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=test");

var eventRaised = false;
BcpMessageController.OnTrigger += (name, args) => eventRaised = true;
Expand All @@ -224,7 +249,7 @@ public void TestTriggerMessage()
public void TestTimerStartedMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_started&ticks=int:10&ticks_remaining=int:10");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_started&ticks=int:10&ticks_remaining=int:10");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -237,7 +262,7 @@ public void TestTimerStartedMessage()
public void TestTimerStoppedMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_stopped&ticks=int:10&ticks_remaining=int:10");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_stopped&ticks=int:10&ticks_remaining=int:10");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -250,7 +275,7 @@ public void TestTimerStoppedMessage()
public void TestTimerPausedMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_paused&ticks=int:10&ticks_remaining=int:10");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_paused&ticks=int:10&ticks_remaining=int:10");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -263,7 +288,7 @@ public void TestTimerPausedMessage()
public void TestTimerCompletedMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_completed&ticks=int:10&ticks_remaining=int:10");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_completed&ticks=int:10&ticks_remaining=int:10");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -276,7 +301,7 @@ public void TestTimerCompletedMessage()
public void TestTimerTickMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_tick&ticks=int:10&ticks_remaining=int:10");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_tick&ticks=int:10&ticks_remaining=int:10");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -289,7 +314,7 @@ public void TestTimerTickMessage()
public void TestTimerTimeAddedMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_time_added&ticks=int:10&ticks_remaining=int:10&ticks_added=2");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_time_added&ticks=int:10&ticks_remaining=int:10&ticks_added=2");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -302,7 +327,7 @@ public void TestTimerTimeAddedMessage()
public void TestTimerTimeSubtractedMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=timer_test_time_subtracted&ticks=int:10&ticks_remaining=int:10&ticks_subtracted=2");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=timer_test_time_subtracted&ticks=int:10&ticks_remaining=int:10&ticks_subtracted=2");

var eventRaised = false;
BcpMessageController.OnTimer += (name, args) => eventRaised = true;
Expand All @@ -315,7 +340,7 @@ public void TestTimerTimeSubtractedMessage()
public void TestTiltMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=tilt");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=tilt");

var eventRaised = false;
BcpMessageController.OnTilt += (name, args) => eventRaised = true;
Expand All @@ -328,7 +353,7 @@ public void TestTiltMessage()
public void TestTiltWarningMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=tilt_warning&warnings=2&warnings_remaining=1");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=tilt_warning&warnings=2&warnings_remaining=1");

var eventRaised = false;
BcpMessageController.OnTiltWarning += (name, args) => eventRaised = true;
Expand All @@ -341,7 +366,7 @@ public void TestTiltWarningMessage()
public void TestSlamTiltMessage()
{
BcpMessageController controller = new BcpMessageController(true);
BcpMessage message = BcpMessageManager.StringToBcpMessage("trigger?name=slam_tilt");
BcpMessage message = BcpMessage.CreateFromRawMessage("trigger?name=slam_tilt");

var eventRaised = false;
BcpMessageController.OnSlamTilt += (name, args) => eventRaised = true;
Expand All @@ -354,7 +379,7 @@ public void TestSlamTiltMessage()
public void TestErrorMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("error?message=An%20error%20occurred&command=xxx");
BcpMessage message = BcpMessage.CreateFromRawMessage("error?message=An%20error%20occurred&command=xxx");

var eventRaised = false;
BcpMessageController.OnError += (name, args) => eventRaised = true;
Expand All @@ -367,7 +392,7 @@ public void TestErrorMessage()
public void TestResetMessage()
{
BcpMessageController controller = new BcpMessageController();
BcpMessage message = BcpMessageManager.StringToBcpMessage("reset");
BcpMessage message = BcpMessage.CreateFromRawMessage("reset");

var eventRaised = false;
BcpMessageController.OnReset += (name, args) => eventRaised = true;
Expand Down
70 changes: 0 additions & 70 deletions Assets/BCP/Scripts/Tests/Editor/BcpVariableTests.cs

This file was deleted.

0 comments on commit eb474e5

Please sign in to comment.