2016-08-19 3 views
-2

これらの単体テストは、テスト問題のメッセージのみを出力します。あなたのコードが正しければ、ユニットテストは成功メッセージなしで自動的に成功します。私はエラーメッセージなしでこれを点灯させる必要があります。私は何が間違っているのか分かりません。私はかなり新しいプログラマーですので、ここで私を負担してください。 CourseList以外のどのクラスにも変更を加えるつもりはない、というのは、私が問題の仕上げをしているGetCourseByCourseIDメソッドです。具体的には、GetCourseByCourseIDメソッド。多型配列の問題Java

class CourseList 
{ 
public Course[] CourseArray = 
{ 
    new Course ("CIS 400", "OO Analysis & Design", 4, "Important class", "CIS 110") , 
    new Course ("CIS 150A" , "VB.NET Programming", 4, "Good Introduction to programming", "CIS 100") , 
    new Course ("CIS 150B", "C# Programming with labs", 4, "Follow-up to CIS 100", "CIS 100") 
}; 


    public Course GetCourseByCourseID(String id) 
    { 

    for (Course C : CourseArray) 
    { 

    } 
    return null; 
    } 
} 




class CourseListTest 
{ 
    public static void main(String[] args) 
    { 
    GetCourseByCourseIDTestWhenCourseExists(); 
    GetCourseByCourseIDTestWhenCourseDoesNotExist(); 
    } 


public static void GetCourseByCourseIDTestWhenCourseExists() 
{ 

    CourseList myCourseList = new CourseList(); 
    Course myCourse = myCourseList.GetCourseByCourseID("CIS 400"); 
    if (myCourse.CourseID != "CIS 400") 
     System.out.println("ERROR - GetCourseByCourseIDTestWhenCourseExists(): Returned CourseID Not equal (CIS 400)"); 
} 

public static void GetCourseByCourseIDTestWhenCourseDoesNotExist() 
{ 

    CourseList myCourseList = new CourseList(); 
    Course myCourse = myCourseList.GetCourseByCourseID("CIS 101"); 
    if (myCourse != null) 
     System.out.println("ERROR - GetCourseByCourseIDTestWhenCourseDoesNotExist(): should have returned null"); 
} 
} 



class Course 
{ 
public Course(String id, String title, int creditHours, String description, String prerequisiteCourse) 
{ 
    this.CourseID = id; 
    this.CourseTitle = title; 
    this.CreditHours = creditHours; 
    this.Description = description; 
    this.PrerequisiteCourse = prerequisiteCourse; 
} 


public String CourseID; 
public String CourseTitle; 
public int CreditHours; 
public String Description; 
public String PrerequisiteCourse; 
+1

これは[Puzzling.SE](http://puzzling.stackexchange.com/)ではありません。私たちの推測を維持しないでください。問題を再現するのに必要なコードを最小限に抑えて、あなたの問題と達成しようとしていることを徹底的に説明してください。 – Gendarme

+0

醜い、Javaコーディング標準に準拠していない判読不能なコード。 – duffymo

答えて

0

課題の目標は、GetCourseByCourseID(String id)メソッドは、指定されたコースIDまたはnullなしなどのコースが終了した場合に対応するCourseを返す検証することです。これを達成するには、既知のすべてのコースをループし、各コースのIDをidパラメータと比較する必要があります。一致が見つかった場合、コースが呼び出し元に返され、それ以外の方法はnullを返します。

public Course GetCourseByCourseID(String id) { 

    for (Course C : CourseArray) { 
     if (C.CourseID.equals(id)) { 
      return course; 
     } 
    } 
    return null; 
} 

私は他のポスターに同意します。元のコードを書いた人は、長期的にあなたに何の恩恵も与えていません。それは非常によく記述されておらず、間違いなく非標準です。このようなコードを書くと、あとで読むことができないという悪い習慣があります。