В вашем конкретном случае нет необходимости добавлять поведение к вашему макету.
public class CarServiceTest {
@Test
public void create_valid() {
RabbitTemplate rt = Mockito.mock(RabbitTemplate.class);
CarService car = new CarService(rt);
ResponseEntity<String> response = car.create("sedan", "arison");
assertThat(response).isNotNull();
assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK);
}
}
К вашему сведению, нецелесообразно манипулировать ResponseEntity
вне HTTP-адаптера (обычно это bean-компонент с аннотацией @Controller
).
А RabbitTemplate#convertAndSend
должен обеспечить механизм преобразования , поэтому вам не нужно напрямую использовать Джексона .
Надеюсь, это поможет вам!
Вы могли использовать AnsiIndexText (константа AnsiString AText, массив константы строки AValues): целое число или MatchStr (константа AText: строка; константа AValues: массив строки): булевская переменная;
Что-то как
Result := (AnsiIndexText('Hi',['Hello','Hi','Foo','Bar']) > -1);
или
Result := MatchStr('Hi', ['foo', 'Bar']);
AnsiIndexText возвращает индекс с 0 смещениями первой строки, это находит в AValues что AText соответствий нечувствительно к регистру . Если строка, определенная AText, не имеет (возможно нечувствительный к регистру) соответствие в AValues, AnsiIndexText возвращает †“1. Сравнения основаны на локали существующей системы.
MatchStr определяет, соответствует ли какая-либо из строк в массиве AValues строке, определенной AText использование чувствительное к регистру сравнение . Это возвращает true если по крайней мере одна из строк в соответствии массива или ложь если ни одно из строкового соответствия.
Примечание AnsiIndexText
имеет нечувствительно к регистру, и MatchStr
чувствительно к регистру, таким образом, я предполагаю, что оно зависит от Вашего использования
РЕДАКТИРОВАНИЕ: 03.09.2011 : Просто найденный этим ответом и думал, что я добавлю примечание что, в Дельфи 2010 существует также MatchText
функция, которая совпадает с MatchStr
, но нечувствительный случай. - Larry
Код работами Burkhard, но выполняет итерации напрасно по списку, даже если соответствие найдено.
Лучший подход:
function StringInArray(const Value: string; Strings: array of string): Boolean;
var I: Integer;
begin
Result := True;
for I := Low(Strings) to High(Strings) do
if Strings[i] = Value then Exit;
Result := False;
end;
Вот функция, которая делает задание:
function StringInArray(Value: string; Strings: array of string): Boolean;
var I: Integer;
begin
Result := False;
for I := Low(Strings) to High(Strings) do
Result := Result or (Value = Strings[I]);
end;
На самом деле, Вы действительно сравниваете MyString с каждой строкой в Строках. Как только Вы находите, что тот, соответствующий Вам, может выйти для цикла.