public class TestSpeedLimitChecker
public void test_Given_the_Vehicle_Is_Under_ThresholdLimit_Then_OverSpeedingFlag_Is_False()
int SpeedLimitForALocation;
FakeSpeedLimitProvider fakeSpeedProvider = new FakeSpeedLimitProvider();
SpeedLimitForALocation = fakeSpeedProvider.ProvideSpeedLimitForAGivenLocation("Loc1");
SpeedLimitChecker speedLimitChecker = new SpeedLimitChecker();
speedLimitExceeded = speedLimitChecker.CheckForSpeedLimit(SpeedLimitForALocation, VehicleSpeed);
Assert.AreEqual(true, speedLimitExceeded);
public class FakeSpeedLimitProvider : SpeedLimitProvider
public int ProvideSpeedLimitForAGivenLocation(string Location)
public interface SpeedLimitProvider
public int ProvideSpeedLimitForAGivenLocation(string Location);
public class SpeedLimitChecker
public bool CheckForSpeedLimit(int SpeedLimit, int VehicleSpeed)
bool speedLimitExceeded = false;
speedLimitExceeded = CompareSpeedLimitAndFlagIFOverspeeding(SpeedLimit, VehicleSpeed);
return speedLimitExceeded;
private bool CompareSpeedLimitAndFlagIFOverspeeding(int SpeedLimit, int VehicleSpeed)
bool speedLimitExceeded = false;
if (VehicleSpeed > SpeedLimit)
speedLimitExceeded = true;
return speedLimitExceeded;
public static void Main()
var x = new NUnitLite.AutoRun().Execute(new string[]{"--test:TestSpeedLimitChecker", "--noc"});
Console.WriteLine("----------------------------------------------");
Console.WriteLine(x==0?"All Test Passed... :¬)": string.Format("{0} tests failed... :¬(", x));