JUnit测试不';无法识别我的功能(通用功能) 包比较器; 导入java.util.*; 公共课练习{ 公共无效{ } 公共静态int numinors(E,迭代器it){ int numMenors=0; while(it.hasNext()){ int comparacio=e.compareTo(it.next()); 如果(比较==-1){ numMenors+=1; } } 返回nummenor; } 公共静态int numinors(比较器comp、ee、迭代器it){ int numMenors=0; while(it.hasNext()){ int comparacio=comp.compare(e,it.next()); 如果(比较==-1){ numMenors+=1; } } 返回nummenor; } }
单元测试类:JUnit测试不';无法识别我的功能(通用功能) 包比较器; 导入java.util.*; 公共课练习{ 公共无效{ } 公共静态int numinors(E,迭代器it){ int numMenors=0; while(it.hasNext()){ int comparacio=e.compareTo(it.next()); 如果(比较==-1){ numMenors+=1; } } 返回nummenor; } 公共静态int numinors(比较器comp、ee、迭代器it){ int numMenors=0; while(it.hasNext()){ int comparacio=comp.compare(e,it.next()); 如果(比较==-1){ numMenors+=1; } } 返回nummenor; } },java,list,junit,iterator,generic-programming,Java,List,Junit,Iterator,Generic Programming,单元测试类: package Comparar; import java.util.*; public class Exercici { public void Exercici(){ } public static <E extends Comparable <E>> int numMinors( E e, Iterator<E> it){ int numMenors = 0;
package Comparar;
import java.util.*;
public class Exercici {
public void Exercici(){
}
public static <E extends Comparable <E>> int numMinors( E e, Iterator<E> it){
int numMenors = 0;
while(it.hasNext()){
int comparacio = e.compareTo(it.next());
if (comparacio == -1){
numMenors += 1;
}
}
return numMenors;
}
public static <E extends Comparable <E>> int numMinors(Comparator<E> comp, E e, Iterator<E> it){
int numMenors =0;
while (it.hasNext()){
int comparacio = comp.compare(e, it.next());
if(comparacio == -1){
numMenors += 1;
}
}
return numMenors;
}
}
import java.util.*;
导入org.junit.After;
导入org.junit.AfterClass;
导入org.junit.Before;
导入org.junit.BeforeClass;
导入org.junit.Test;
导入静态org.junit.Assert.*;
公共课操作工{
公共行政人员(){
}
@试验
公共空间比较可比性(){
int num=0;
瓶子b1=新瓶子(0.33,10,“奥罗港”,“迪拜”);
瓶子b2=新瓶子(1.5,1,“asdf”、“拉巴特”);
瓶b3=新瓶(2.5,1.5,“qwerty”、“Londres”);
瓶子b4=新瓶子(5,2,“波伊”,“巴黎”);
瓶b5=新瓶(2.5,2,“Botella”,“EEUU”);
List alb=new ArrayList();
迭代器it=alb.Iterator();
alb.添加(b1);
alb.add(b2);
alb.add(b3);
alb.添加(b4);
num=numMinors(b5,it);//错误找不到符号
}
@试验
public void compariarcosesamba comparidor(){
int num=0;
瓶子b1=新瓶子(0.33,10,“金水”,“迪拜”);
瓶子b2=新瓶子(1.5,1,“asdf”、“拉巴特”);
瓶b3=新瓶(2.5,1.5,“qwerty”、“Londres”);
瓶子b4=新瓶子(5,2,“波伊”,“巴黎”);
瓶b5=新瓶(2.5,2,“Botella”,“EEUU”);
ArrayList alb=新的ArrayList();
瓶装比较器组件=新瓶装比较器();
迭代器it=alb.Iterator();
alb.添加(b1);
alb.add(b2);
alb.add(b3);
alb.添加(b4);
num=numMinors(comp,b5,it);//错误找不到符号
}
}
所以我得到了3个类,实现Comparator的BlottleComparator,实现Comparable的Blottle和包含我被要求执行的方法的exercici
问题是测试类似乎无法识别我的函数numinors,我已经尝试将所有文档放在另一个包中,并关闭项目,下次再打开它。有什么线索吗
(我仍然需要对断言函数进行测试)
错误消息:
找不到符号
符号:方法编号(……)
地点:班级操作工
numinors不是类的静态方法
ExerciciTest
。它是类的静态方法exercicii
因此,您可以执行Exercici.numinors(…)
,但不能执行ExerciciTest.numinors(…)
在这里,您可以直接在练习中调用numMinors(…)
。有一个错误,因为ExerciciTest
类中没有静态方法numMinors
import java.util.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
public class ExerciciTest {
public ExerciciTest() {
}
@Test
public void compararCosesComparables() {
int num = 0;
Bottle b1 = new Bottle(0.33, 10, "Agua de Oro", "Dubai");
Bottle b2 = new Bottle(1.5, 1, "asdf", "Rabat");
Bottle b3 = new Bottle(2.5, 1.5, "qwerty", "Londres");
Bottle b4 = new Bottle(5, 2, "poiuy", "Paris");
Bottle b5 = new Bottle(2.5, 2, "Botella", "EEUU");
List<Bottle> alb = new ArrayList<>();
Iterator<Bottle> it = alb.iterator();
alb.add(b1);
alb.add(b2);
alb.add(b3);
alb.add(b4);
num = numMinors(b5, it); //Error cannot find symbol
}
@Test
public void compararCosesAmbComparador() {
int num = 0;
Bottle b1 = new Bottle(0.33, 10, "Gold water", "Dubai");
Bottle b2 = new Bottle(1.5, 1, "asdf", "Rabat");
Bottle b3 = new Bottle(2.5, 1.5, "qwerty", "Londres");
Bottle b4 = new Bottle(5, 2, "poiuy", "Paris");
Bottle b5 = new Bottle(2.5, 2, "Botella", "EEUU");
ArrayList<Bottle> alb = new ArrayList<>();
BottleComparator comp = new BottleComparator();
Iterator<Bottle> it = alb.iterator();
alb.add(b1);
alb.add(b2);
alb.add(b3);
alb.add(b4);
num = numMinors(comp, b5, it); //Error cannot find symbol
}
}