public void DrawMap2() { var mapCopy = new Char[Forest.map.GetLength(0), Forest.map.GetLength(1)]; for (int i = 0; i < Forest.map.GetLength(0); i++) { for (int j = 0; j < Forest.map.GetLength(1); j++) { mapCopy[i, j] = Forest.map[i, j].Name(); } } foreach (var creature in Forest.AllCreatures) mapCopy[creature.X, creature.Y] = creature.Type; for (int i = 0; i < mapCopy.GetLength(0); i++) { for (int j = 0; j < mapCopy.GetLength(1); j++) { Console.Write(mapCopy[i, j]); } Console.WriteLine(); } }
public void TestGetLength() { { bool errorThrown = false; try { char[] c1 = {'a', 'b', 'c'}; c1.GetLength(-1); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#H01", errorThrown); } { bool errorThrown = false; try { char[] c1 = {'a', 'b', 'c'}; c1.GetLength(1); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#H02", errorThrown); } char[] c2 = new Char[5]; AssertEquals("#H03", 5, c2.GetLength(0)); char[,] c3 = new Char[6,7]; AssertEquals("#H04", 6, c3.GetLength(0)); AssertEquals("#H05", 7, c3.GetLength(1)); }
public void TestSetValueN() { { bool errorThrown = false; try { char[] c = new Char[2]; c.SetValue("buh", (int [])null); } catch (ArgumentNullException) { errorThrown = true; } Assert("#M61a", errorThrown); } { bool errorThrown = false; try { char[] c = new Char[2]; int[] coords = {1, 1}; c.SetValue("buh", coords); } catch (ArgumentException) { errorThrown = true; } Assert("#M62", errorThrown); } { bool errorThrown = false; try { char[,] c = new Char[2,2]; int[] coords = {-1, 1}; c.SetValue("buh", coords); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#M63", errorThrown); } { bool errorThrown = false; try { char[,] c = new Char[2,2]; int[] coords = {4, 1}; c.SetValue("buh", coords); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#M64", errorThrown); } char[,] c1 = new Char[4,6]; char[,] c2 = new Char[4,6]; for (int i = 0; i < 24; i++) { int first = i / 6; int second = i % 6; c1[first,second] = (char)(((int)'a')+i); int[] coords = {first, second}; c2.SetValue(c1[first,second], coords); } for (int i = 0; i < c1.GetLength(0); i++) { for (int j = 0; j < c1.GetLength(1); j++) { AssertEquals("#M65(" + i + "," + j + ")", c1[i,j], c2[i,j]); } } }
public void TestSetValue3() { { bool errorThrown = false; try { char[] c = new Char[2]; c.SetValue("buh", 1,1,1); } catch (ArgumentException) { errorThrown = true; } Assert("#M41", errorThrown); } { bool errorThrown = false; try { char[,,] c = new Char[2,2,2]; c.SetValue("buh", -1, 1, 1); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#M42", errorThrown); } { bool errorThrown = false; try { char[,,] c = new Char[2,2,2]; c.SetValue("buh", 4,1,1); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#M43", errorThrown); } char[,,] c1 = new Char[4,2,3]; char[,,] c2 = new Char[4,2,3]; for (int i = 0; i < 24; i++) { int first = i / 6; int remains = i % 6; int second = remains / 3; int third = remains % 3; c1[first,second, third] = (char)(((int)'a')+i); c2.SetValue(c1[first, second, third], first, second, third); } for (int i = 0; i < c1.GetLength(0); i++) { for (int j = 0; j < c1.GetLength(1); j++) { for (int k = 0; k < c1.GetLength(2); k++) { AssertEquals("#M44(" + i + "," + j + " )", c1[i,j,k], c2[i,j,k]); } } } }
public void TestSetValue2() { { bool errorThrown = false; try { char[] c = new Char[2]; c.SetValue("buh", 1,1); } catch (ArgumentException) { errorThrown = true; } Assert("#M21", errorThrown); } { bool errorThrown = false; try { char[,] c = new Char[2,2]; c.SetValue("buh", -1, 1); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#M22", errorThrown); } { bool errorThrown = false; try { char[,] c = new Char[2,2]; c.SetValue("buh", 4,1); } catch (IndexOutOfRangeException) { errorThrown = true; } Assert("#M23", errorThrown); } char[,] c1 = new Char[4,6]; char[,] c2 = new Char[4,6]; for (int i = 0; i < 24; i++) { int first = i / 6; int second = i % 6; c1[first,second] = (char)(((int)'a')+i); c2.SetValue(c1[first,second], first, second); } for (int i = 0; i < c1.GetLength(0); i++) { for (int j = 0; j < c1.GetLength(1); j++) { AssertEquals("#M24(" + i + "," + j + ")", c1[i,j], c2[i, j]); } } }
/// <summary> /// Gets raw data from a column. /// </summary> public Int64 GetChars(Int32 i, Int64 fieldoffset, Char[] buffer, Int32 bufferoffset, Int32 length) { String str; str = GetString(i); if (buffer == null) return str.Length; str.ToCharArray(bufferoffset, length).CopyTo(buffer, 0); return buffer.GetLength(0); }