Improve support for running tests on windows
Signed-off-by: szarpul@users.noreply.github.com Signed-off-by: Mark Pollack <mark.pollack@broadcom.com>
This commit is contained in:
committed by
Soby Chacko
parent
9774b4eedc
commit
06ea88312a
@@ -25,14 +25,14 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
/**
|
||||
* @author Christian Tzolov
|
||||
*/
|
||||
public class ContentFormatterTests {
|
||||
class ContentFormatterTests {
|
||||
|
||||
Document document = new Document("The World is Big and Salvation Lurks Around the Corner",
|
||||
Map.of("embedKey1", "value1", "embedKey2", "value2", "embedKey3", "value3", "llmKey2", "value4"));
|
||||
|
||||
@Test
|
||||
public void noExplicitlySetFormatter() {
|
||||
assertThat(this.document.getText()).isEqualTo("""
|
||||
void noExplicitlySetFormatter() {
|
||||
TextBlockAssertion.assertThat(this.document.getText()).isEqualTo("""
|
||||
The World is Big and Salvation Lurks Around the Corner""");
|
||||
|
||||
assertThat(this.document.getFormattedContent()).isEqualTo(this.document.getFormattedContent(MetadataMode.ALL));
|
||||
@@ -42,17 +42,18 @@ public class ContentFormatterTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultConfigTextFormatter() {
|
||||
void defaultConfigTextFormatter() {
|
||||
|
||||
DefaultContentFormatter defaultConfigFormatter = DefaultContentFormatter.defaultConfig();
|
||||
|
||||
assertThat(this.document.getFormattedContent(defaultConfigFormatter, MetadataMode.ALL)).isEqualTo("""
|
||||
llmKey2: value4
|
||||
embedKey1: value1
|
||||
embedKey2: value2
|
||||
embedKey3: value3
|
||||
TextBlockAssertion.assertThat(this.document.getFormattedContent(defaultConfigFormatter, MetadataMode.ALL))
|
||||
.isEqualTo("""
|
||||
llmKey2: value4
|
||||
embedKey1: value1
|
||||
embedKey2: value2
|
||||
embedKey3: value3
|
||||
|
||||
The World is Big and Salvation Lurks Around the Corner""");
|
||||
The World is Big and Salvation Lurks Around the Corner""");
|
||||
|
||||
assertThat(this.document.getFormattedContent(defaultConfigFormatter, MetadataMode.ALL))
|
||||
.isEqualTo(this.document.getFormattedContent());
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 2024-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.ai.document;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.assertj.core.api.AbstractCharSequenceAssert;
|
||||
import org.assertj.core.api.Assertions;
|
||||
|
||||
public class TextBlockAssertion extends AbstractCharSequenceAssert<TextBlockAssertion, String> {
|
||||
|
||||
protected TextBlockAssertion(String string) {
|
||||
super(string, TextBlockAssertion.class);
|
||||
}
|
||||
|
||||
public static TextBlockAssertion assertThat(String actual) {
|
||||
return new TextBlockAssertion(actual);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextBlockAssertion isEqualTo(Object expected) {
|
||||
Assertions.assertThat(normalizedEOL(actual)).isEqualTo(normalizedEOL((String) expected));
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextBlockAssertion contains(CharSequence... values) {
|
||||
Assertions.assertThat(normalizedEOL(actual)).contains(normalizedEOL(values));
|
||||
return this;
|
||||
}
|
||||
|
||||
private String normalizedEOL(CharSequence... values) {
|
||||
return Arrays.stream(values).map(CharSequence::toString).map(this::normalizedEOL).reduce("", (a, b) -> a + b);
|
||||
}
|
||||
|
||||
private String normalizedEOL(String line) {
|
||||
return line.replaceAll("\r\n|\r|\n", System.lineSeparator());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user