Я неисправного следующий тестовый случай:Как проверить каждую букву в виде строки
@Test (timeout=3000) public void gatenot_0(){
GateNot g = new GateNot (new Wire("inw"), new Wire("outa"));
g.feed("0");
boolean ans = g.propagate();
assertEquals(sigs1, g.read());
}
, который говорит "Invalid character"
- Исключение брошено следующим методом:
public static List <Signal> fromString(String inps)
{
List<Signal> values = new ArrayList<Signal>();
for(int i = 0; i < inps.length(); i++)
{
if(inps.charAt(i) != '1' && inps.charAt(i) != '0'
&& inps.charAt(i) != 'X' && inps.charAt(i) != 'x'
&& inps.charAt(i) != ' ' && inps.charAt(i) != '\t')
throw new ExceptionLogicMalformedSignal(inps.charAt(0), "Invalid character!");
else if(inps.charAt(i) == '1')
values.add(HI);
else if(inps.charAt(i) == '0')
values.add(LO);
else if(inps.charAt(i) == 'X')
values.add(X);
else if(inps.charAt(i) == 'x')
values.add(X);
}
return values;
}
Everytime я передаю то, в том числе «0» или «1» выбрасывает исключение. Итак, нужно ли проверять каждую букву строк inps как строку, а не charAt()
. Если да, то как я должен это проверить? Заранее спасибо.
код не показывает, как ваши называют 'fromString (String ИНПС)' –
вы можете показать полную строку, которая бросает исключение – faljbour
Изменить 'ИНПС. charAt (0) 'to' inps.charAt (i) ', чтобы увидеть символ, который фактически вызывает ошибку. –