public void Default_parser_is_replaced() { const string fakeUrl = "https://api.tfl.gov.uk/fake"; const string fakeJsonResponse = "fake json response"; const string fakeRoadId = "fakeRoadId"; const string fakeDisplayName = "fake display name"; const string fakeSeverity = "fake severity"; const string fakeDescription = "fake description"; string FakeResourceReader(Uri _) => fakeJsonResponse; var fakeRoadStatus = new RoadStatus(fakeRoadId, fakeDisplayName, fakeSeverity, fakeDescription); RoadStatusResult FakeParser(string _) => new RoadStatusResult(fakeRoadStatus); var reader = new RoadStatusReader(fakeUrl) .ParseWith(FakeParser) .GetWith(FakeResourceReader); var result = reader.GetResult(fakeRoadId); Assert.Equal(ExitCodes.Success, result.Status); Assert.Equal(fakeRoadId, result.Road.Id); Assert.Equal(fakeDisplayName, result.Road.DisplayName); Assert.Equal(fakeSeverity, result.Road.StatusSeverity); Assert.Equal(fakeDescription, result.Road.StatusSeverityDescription); }
/// <summary> /// Call this only in OnDrawGizmos() MonoBehaviour method /// </summary> public void VizualizeGraphNode(Vector3 position, RoadStatus status) { Gizmos.color = (status == RoadStatus.Move) ? Color.cyan : Color.red; Gizmos.DrawSphere(position, 1f); }
static int Main(string[] args) { int status = 0; string tflAppId = ConfigurationManager.AppSettings["TflAppId"]; string tflAppKey = ConfigurationManager.AppSettings["TflAppKey"]; TfLApiClient.GetInstance().SetApiKeys(tflAppId, tflAppKey); if (args != null && args.Length > 0) { string roadId = args[0]; string msg = string.Empty; RoadInformation info = RoadStatus.GetStatus(roadId); if (info.Valid) { msg = string.Format(ValidaRoadMessage, info.Name, info.StatusSeverity, info.StatusSeverityDescription); } else { msg = string.Format(InvalidRoadMessage, roadId); status = 1; } Console.WriteLine(msg); } return(status); }
public void TestValidResponse() { ApiClient client = new ApiClient(mockHttpClient.Object, "APP_ID", "DEVELOPER_ID"); // Get the result for the A2 and test for validity RoadStatus a2Result = client.GetRoadStatus("A2"); Assert.AreEqual("A2", a2Result.displayName); Assert.AreEqual("Good", a2Result.statusSeverity); Assert.AreEqual("No Exceptional Delays", a2Result.statusSeverityDescription); }
public void Init_Road() { int Center_Size = Road_Size / 2; int Road = Random.Range(0, 2); int Angle = Random.Range(0, 3) * 90; switch (Road) { case 0: if (Angle == 0) { Array_Road[Center_Size, Center_Size] = new RoadStatus(5); } else if (Angle == 90) { Array_Road[Center_Size, Center_Size] = new RoadStatus(6); } else if (Angle == 180) { Array_Road[Center_Size, Center_Size] = new RoadStatus(7); } else if (Angle == 270) { Array_Road[Center_Size, Center_Size] = new RoadStatus(8); } break; case 1: if (Angle == 0 || Angle == 180) { Array_Road[Center_Size, Center_Size] = new RoadStatus(3); } else if (Angle == 90 || Angle == 270) { Array_Road[Center_Size, Center_Size] = new RoadStatus(4); } break; case 2: if (Angle == 0 || Angle == 180) { Array_Road[Center_Size, Center_Size] = new RoadStatus(1); } else if (Angle == 90 || Angle == 270) { Array_Road[Center_Size, Center_Size] = new RoadStatus(2); } break; } Init_Fill_City(Angle); Init_Fill_CrossRoad(Angle); Init_Fill_Road(); }
public void TestFormattedText() { RoadStatus status = new RoadStatus() { displayName = "<DISPLAYNAME>", statusSeverity = "<STATUS>", statusSeverityDescription = "<DESCRIPTION>" }; Assert.AreEqual( "The status of the <DISPLAYNAME> is as follows\r\n\tRoad Status is <STATUS>\r\n\tRoad Status Description is <DESCRIPTION>", status.ToFormattedString() ); }
public RoadStatusList MapRoadStatusData(TfLRoadCorridors apiData) { List <RoadStatus> result = new List <RoadStatus>(); foreach (var apiResponse in apiData.RoadCorridorList) { var viewModelResponse = new RoadStatus() { Name = apiResponse.DisplayName, Status = apiResponse.StatusSeverity, StatusDescription = apiResponse.StatusSeverityDescription }; result.Add(viewModelResponse); } return(new RoadStatusList(result)); }
void Init_Fill_Road() { for (int i = 0; i < Road_Size; i++) { for (int j = i % 2; j < Road_Size; j += 2) { RoadStatus[] roads = { null, null, null, null }; if (j - 1 >= 0) { roads[0] = Array_Road[i, j - 1]; // A } if (j + 1 < Road_Size) { roads[1] = Array_Road[i, j + 1]; } if (i - 1 >= 0) { roads[2] = Array_Road[i - 1, j]; } if (i + 1 < Road_Size) { roads[3] = Array_Road[i + 1, j]; } int Prefab_Number = RoadStatus.Compute_Road_Num(roads[0], roads[1], roads[2], roads[3]); if (Prefab_Number == -1) { Debug.Log("Compute Prefab Number Loss! Error : Init_Fill_CrossRoad"); } else { Array_Road[i, j] = new RoadStatus(Prefab_Number); } } } }
void Init_Fill_City(int Angle) { int I_Start = 0; int J_Start = 0; if (Angle == 0 || Angle == 180) { J_Start = 1; } else { I_Start = 1; } for (int i = I_Start; i < Road_Size; i += 2) { for (int j = J_Start; j < Road_Size; j += 2) { Array_Road[i, j] = new RoadStatus(0); Array_Road[i, j].bool_City = true; } } }
public void WhenTheClientIsRun() { roadStatus = (RoadStatus)roadStatusService.GetStatus(_roadName).Result; }
public void Check_InvalidRoadStatus_ErrorCode_Test() { RoadInformation status = RoadStatus.GetStatus("A1000"); Assert.IsNotNull(RoadStatus.LastErrorCode); }
public void Check_ValidRoadStatus_StatusDescription_Test() { RoadInformation status = RoadStatus.GetStatus("A1"); Assert.IsNotNull(status.StatusSeverityDescription); }
public void Check_ValidRoadStatus_DisplayName_Test() { RoadInformation status = RoadStatus.GetStatus("A1"); Assert.IsNotNull(status.Name); }
public void Check_InvalidRoadStatus_Test() { RoadInformation status = RoadStatus.GetStatus("A1000"); Assert.IsFalse(status.Valid); }
public void Check_ValidRoadStatus_Test() { RoadInformation status = RoadStatus.GetStatus("A1"); Assert.IsTrue(status.Valid); }
public void Register_APIKeys_NotAvailableException_Test() { TfLApiClient.GetInstance().SetApiKeys(string.Empty, string.Empty); RoadInformation status = RoadStatus.GetStatus("A1"); }
void Init_Fill_CrossRoad(int Angle) { int I_Start = 0; int J_Start = 0; if (Angle == 0 || Angle == 180) { I_Start = 1; } else { J_Start = 1; } for (int i = I_Start; i < Road_Size; i += 2) { for (int j = J_Start; j < Road_Size; j += 2) { RoadStatus[] crossroads = { null, null, null, null }; if (j - 2 >= 0) { crossroads[0] = Array_Road[i, j - 2]; // A } if (j + 2 < Road_Size) { crossroads[1] = Array_Road[i, j + 2]; } if (i - 2 >= 0) { crossroads[2] = Array_Road[i - 2, j]; } if (i + 2 < Road_Size) { crossroads[3] = Array_Road[i + 2, j]; } RoadStatus[] roads = { null, null, null, null }; if (j - 1 >= 0) { roads[0] = Array_Road[i, j - 1]; // A } if (j + 1 < Road_Size) { roads[1] = Array_Road[i, j + 1]; } if (i - 1 >= 0) { roads[2] = Array_Road[i - 1, j]; } if (i + 1 < Road_Size) { roads[3] = Array_Road[i + 1, j]; } int Prefab_Number = RoadStatus.Compute_CrossRoad_Num(crossroads[0], crossroads[1], crossroads[2], crossroads[3], roads[0], roads[1], roads[2], roads[3]); if (Prefab_Number == -1) { Debug.Log("Compute Prefab Number Loss! Error : Init_Fill_CrossRoad"); } else { Array_Road[i, j] = new RoadStatus(Prefab_Number); } } } }
public static int Compute_Road_Num(RoadStatus A, RoadStatus D, RoadStatus W, RoadStatus S) { List <int> Able_Number = new List <int>(); for (int i = 1; i < 9; i++) { Able_Number.Add(i); } RoadStatus[] CrossRoads = new RoadStatus[8]; for (int i = 0; i < 8; i++) { CrossRoads[i] = new RoadStatus(i + 1); } if (A != null && A.To_D == 0) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_A != 0) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (A != null && A.To_D == 1) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_A != 1) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (A != null && A.To_D == 2) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_A != 2) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } if (D != null && D.To_A == 0) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_D != 0) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (D != null && D.To_A == 1) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_D != 1) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (D != null && D.To_A == 2) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_D != 2) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } if (W != null && W.To_S == 0) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_W != 0) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (W != null && W.To_S == 1) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_W != 1) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (W != null && W.To_S == 2) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_W != 2) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } if (S != null && S.To_W == 0) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_S != 0) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (S != null && S.To_W == 1) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_S != 1) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } else if (S != null && S.To_W == 2) { for (int i = 0; i < 8; i++) { if (CrossRoads[i].To_S != 2) { Able_Number.Remove(CrossRoads[i].Prefab_Num); } } } if (Able_Number.Count == 0) { return(0); } if (Able_Number.Count == 1) { return(Able_Number[0]); } return(Able_Number[Random.Range(0, Able_Number.Count - 1)]); }
public void Make_Prefab() { for (int i = 0; i < Road_Size; i++) { for (int j = 0; j < Road_Size; j++) { if (Array_Road[i, j] == null) { RoadStatus[] roads = { null, null, null, null }; // ADWS if (j - 1 >= 0) { roads[0] = Array_Road[i, j - 1]; } if (j + 1 < Road_Size) { roads[1] = Array_Road[i, j + 1]; } if (i - 1 >= 0) { roads[2] = Array_Road[i - 1, j]; } if (i + 1 < Road_Size) { roads[3] = Array_Road[i + 1, j]; } int index = -1; for (int k = 0; k < 4; k++) { if (roads[k] != null) { if (roads[k].Is_Road() || (roads[k].Is_City() && !roads[k].bool_City)) { index = 1; } else if (roads[k].Is_City()) { index = 0; } else if (roads[k].Is_CrossRoad()) { index = 2; } } } if (index == -1) { Debug.Log("From A From D From W From S All NULL! Error : Make_Prefab"); } if (index == 1) { RoadStatus[] crossroads = { null, null, null, null }; if (j - 2 >= 0) { crossroads[0] = Array_Road[i, j - 2]; // A } if (j + 2 < Road_Size) { crossroads[1] = Array_Road[i, j + 2]; } if (i - 2 >= 0) { crossroads[2] = Array_Road[i - 2, j]; } if (i + 2 < Road_Size) { crossroads[3] = Array_Road[i + 2, j]; } int cross_Index = -1; for (int k = 0; k < 4; k++) { if (crossroads[k] != null) { if (crossroads[k].Is_Road() || (crossroads[k].Is_City() && !crossroads[k].bool_City)) { cross_Index = 1; } else if (crossroads[k].Is_City()) { cross_Index = 0; } else if (crossroads[k].Is_CrossRoad()) { cross_Index = 2; } } } if (cross_Index == -1) { Debug.Log("From A From D From W From S All NULL! Error : Make_Prefab"); } else if (cross_Index == 0) { Array_Road[i, j] = new RoadStatus(0); Array_Road[i, j].bool_City = true; } else if (cross_Index == 2) { int Prefab_Number = RoadStatus.Compute_CrossRoad_Num(crossroads[0], crossroads[1], crossroads[2], crossroads[3], roads[0], roads[1], roads[2], roads[3]); if (Prefab_Number == -1) { Debug.Log("Compute Prefab Number Loss! Error : Init_Fill_CrossRoad"); } else { Array_Road[i, j] = new RoadStatus(Prefab_Number); } } } } } } for (int i = 0; i < Road_Size; i++) { for (int j = 0; j < Road_Size; j++) { if (Array_Road[i, j] == null) { RoadStatus[] roads = { null, null, null, null }; // ADWS if (j - 1 >= 0) { roads[0] = Array_Road[i, j - 1]; } if (j + 1 < Road_Size) { roads[1] = Array_Road[i, j + 1]; } if (i - 1 >= 0) { roads[2] = Array_Road[i - 1, j]; } if (i + 1 < Road_Size) { roads[3] = Array_Road[i + 1, j]; } int index = -1; for (int k = 0; k < 4; k++) { if (roads[k] != null) { if (roads[k].Is_Road() || (roads[k].Is_City() && !roads[k].bool_City)) { index = 1; } else if (roads[k].Is_City()) { index = 0; } else if (roads[k].Is_CrossRoad()) { index = 2; } } } if (index == -1) { Debug.Log("From A From D From W From S All NULL! Error : Make_Prefab"); } if (index == 0 || index == 2) { int Prefab_Number = RoadStatus.Compute_Road_Num(roads[0], roads[1], roads[2], roads[3]); if (Prefab_Number == -1) { Debug.Log("Compute Prefab Number Loss! Error : Init_Fill_CrossRoad"); } else { Array_Road[i, j] = new RoadStatus(Prefab_Number); } } } } } }