public void Indexer() { var apexs = new PlineApexs(); var atsvZero = new ApexAtsv(); for (int i = 0; i < apexs.Length; i++) { apexs[i].Should().Be(atsvZero); } }
public void Foreach() { var apexs = new PlineApexs(); var atsvZero = new ApexAtsv(); foreach (var apex in apexs) { apex.Should().Be(atsvZero); } }
public void DataTest() { var data = BinarySupplier.GetPlineData(); // Length(Apexの使用数)が予約数より小さいこと var plineSize = Marshal.SizeOf(typeof(PlineApexs)); data.Length.Should().BeGreaterThan(0); data.Length.Should().BeLessOrEqualTo(plineSize); // 固定小数点が正数 data.FixedValue.Should().BeGreaterThan(0); // buffer(Apexのbyte[])が仕様通り(予約通り)であること var apexSize = Marshal.SizeOf(typeof(ApexAtsv)); var apexCount = new PlineApexs().Length; data.Buffer.Length.Should().Be(apexSize * apexCount); }
public readonly PlineApexs Apexs; // Apexの最大定義数 public ProgramLine(int length, int fixedNumber, Span <byte> span) { Length = length; FixedNumber = fixedNumber; Apexs = Unsafe.As <byte, PlineApexs>(ref span.GetPinnableReference()); }