我正在尝试将参数化测试添加到我的Java程序中.我找到了JUnit 5的例子,我确实包含了这些例子.
https://blog.codefx.org/libraries/junit-5-parameterized-tests/
问题是我无法添加@ParameterizedTest,因为缺少命名空间.Idk为什么或如何.
该文档页面中明确指出它是在org.junit.jupiter.params,但我没有那个.
为了让您了解我的代码:
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Collection;
import static org.junit.jupiter.api.Assertions.*;
class SubsetPrinterTest
{
// https://blog.codefx.org/libraries/junit-5-parameterized-tests/
static Collection<Object[]> makeSetData()
{
return Arrays.asList(new Object[][]
{
{1, new char[]{'1'}},
{2, new char[]{'1', '2'}},
{3, new char[]{'1', '2', '3'}},
{4, new char[]{'1', '2', '3', '4'}},
{5, new char[]{'1', '2', '3', '4', '5'}}
});
}
// This should be a parameterized test using the makeSetData.
@Test
void makeSet()
{
// Arrange
SubsetPrinter subsetPrinter = new SubsetPrinter();
// Act …Run Code Online (Sandbox Code Playgroud) 我想用来自Stream的byte []图像制作缩略图。我有两个选择,DecodePixelWidth或ScaleTransform。
我的问题:
第一:
我更喜欢这种方法。它使用更多的内存,但似乎更快。但是,Idk为什么呢?是否使用Matrix并使用GPU进行工作?在这种情况下,我的客户可能会或可能无法尽快完成。
using (var stream = new MemoryStream(rasterizedPage.ImageData, false))
{
var bitmap = DocHelper.ConvertToBitmapImage(stream);
var transform = new ScaleTransform(0.1, 0.1);
var thumbnail = new WriteableBitmap(new TransformedBitmap(bitmap, transform));
byte[] byteImage = DocHelper.ConvertToBytes(thumbnail);
return byteImage;
}
Run Code Online (Sandbox Code Playgroud)
第二:
此方法使用较少的内存,但看起来速度较慢,并且图像模糊,但它们是缩略图,因此可以。不过,ScaleTransform更好吗?
using (var stream = new MemoryStream(rasterizedPage.ImageData, false))
{
byte[] byteImage;
var bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.DecodePixelWidth = 120;
bitmap.StreamSource = stream;
bitmap.EndInit();
bitmap.Freeze();
byteImage = DocHelper.ConvertToBytes(bitmap);
return byteImage;
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助。
我试图用连字符和字符分割字符串,但不确定如何使用正则表达式拆分.字符串是这样的:
-u tom -p 12345 -h google.com
连字符和字符在位置上可以互换,并且可以显示多少个.我希望他们回到阵列中.这是我到目前为止:
Scanner reader = new Scanner(System.in);
String entireLine = reader.nextLine();
String[] array = entireLine.split("–", -1);
Run Code Online (Sandbox Code Playgroud)
我想要的结果是:
-u tom
-p 12345
-h google.com
谢谢.