Wie kann ich jedes Element eines Arrays mit nicht näher bezeichneten Rang und Größe schreiben?Schreiben Sie ein Array mit nicht spezifiziertem Rang und Größe
Um hoffentlich deutlicher zu werden, habe ich auch einige Testfälle für MSTest geschrieben. Die drei Tests überprüfen skalare, eindimensionale und zweidimensionale Daten sowie String-, Double- und Integer-Daten.
[TestMethod()]
public void TestWrittenScalarIsCorrect()
{
Array data = Array.CreateInstance(typeof(string), 1);
data.SetValue("hello", 0);
Assert.AreEqual(0, data.Rank);
// nothing fancy
Assert.AreEqual("[hello]", WriteArray(data));
}
[TestMethod()]
public void TestWritten1DIsCorrect()
{
// note: I'm expecting 1.0 => '1'
Assert.AreEqual("[1, 1.1]",
YamlWriter.WriteArray(new double[] { 1.0, 1.1 }));
}
[TestMethod()]
public void TestWritten2DIsCorrect()
{
// Note: expecting 00 and 01 to be 0 and 1, respectively
Assert.AreEqual("[[0, 1], [10, 11]]",
WriteArray(new int[,]{ {0, 1}, {10, 11}}));
}
[TestMethod()]
public void TestWritten3DIsCorrect()
{
var data = new int[3, 3, 3];
for (int kk = 0; kk < 3; kk++)
{
for (int jj = 0; jj < 3; jj++)
{
for (int ii = 0; ii < 3; ii++)
{
data[kk, jj, ii] = kk * 100 + jj * 10 + ii;
}
}
}
// Note: expecting 00 and 01 to be 0 and 1, respectively
Assert.AreEqual("[[[0, 1, 2], [10, 11, 12], [20, 21, 22]], "
+ "[[100, 101, 102], [110, 111, 112], [120, 121, 122]], "
+ "[[200, 201, 202], [210, 211, 212], [220, 221, 222]]]",
WriteArray(data));
}
Vielen Dank!
Gibt es eine Frage hier? –
Sorry, ich formulierte das als Frage. – SimplyKnownAsG