package org.quaere.objects;
import static org.quaere.DSL.*;
import junit.framework.Assert;
import java.util.List;
import java.util.Arrays;
import org.junit.Test;
public class ConversionOperatorsScenarioTest {
@Test
public void canUseAsArrayToImmendiatlyEvaluateASequenceIntoAnArray_linq54() {
// NOTE: Renamed ToArray (LINQ) -> asArray (this)
Double[] doubles = {1.7, 2.3, 1.9, 4.1, 2.9};
Iterable<Double> sortedDoubles =
from("d").in(doubles).orderByDescending("d").select("d");
Double[] doublesArray = asArray(new Double[0], sortedDoubles);
Assert.assertEquals(doubles.length, doublesArray.length);
Double lastValue = Double.MAX_VALUE;
for (Double d : doublesArray) {
Assert.assertTrue(lastValue >= d);
lastValue = d;
}
}
@Test
public void canUseAsListToImmediatlyEvaluateASequenceIntoAList() {
// NOTE: Renamed ToList (LINQ) -> asList (this)
String[] words = {"cherry", "apple", "blueberry"};
List<String> sortedWords =
asList(
from("w").in(words).orderByDescending("w.length()").select("w")
);
int lastLength = Integer.MAX_VALUE;
for (String word : sortedWords) {
System.out.println(word);
System.out.println(word.length());
Assert.assertTrue(lastLength >= word.length());
lastLength = word.length();
}
}
@Test
public void canUseOfClassToReturnOnlyTheElementsOfAnArrayThatAreOfClassDouble_linq57() {
Object[] numbers = {null, 1.0, "two", 3, "four", 5, "six", 7.0};
Iterable<Double> doubles = ofClass(Double.class, numbers);
Assert.assertEquals(Arrays.asList(1.0, 7.0), doubles);
}
}