2016-08-19 2 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; 
} 

나는 다른 포스터에 동의합니다. 누구든지 원래 코드를 작성하면 장기적으로 당신에게 어떤 호의를 베풀지 않습니다. 그것은 매우 잘 작성되지 않았고 확실히 비표준입니다. 이런 식의 코드를 작성하면 나중에 읽지 못하는 많은 습관이 생깁니다.