示例#1
0
        public void GetLine()
        {
            Page page = new Page();

            page[250] = 0x33;

            PageLine line = page.GetLine(15);

            for (int i = 0; i < PageLine.Size; i++)
                Assert.AreEqual<byte>((byte)((i == 10) ? 0x33 : 0), line[i]);
        }
示例#2
0
        public void IsEmpty()
        {
            Page page = new Page();

            Assert.IsFalse(page.IsEmpty);

            for (int i = 0; i < Page.Size; i++)
                page[i] = Page.EmptyCell;

            Assert.IsTrue(page.IsEmpty);
        }
示例#3
0
        public void Indexer()
        {
            Page page = new Page();

            for (int i = 0; i < Page.Size; i++)
                Assert.AreEqual<byte>(0, page[i]);

            page[0] = 0x22;
            page[255] = 0x33;

            Assert.AreEqual<byte>(0x22, page[0]);
            Assert.AreEqual<byte>(0x33, page[255]);
        }
示例#4
0
        public void SetLine()
        {
            Page page = new Page();
            PageLine line = new PageLine();
            line[0] = 0x22;
            line[15] = 0xAA;

            page.SetLine(0, line);
            page.SetLine(15, line);

            Assert.AreEqual<byte>(0x22, page[0]);
            Assert.AreEqual<byte>(0xAA, page[15]);
            Assert.AreEqual<byte>(0x22, page[240]);
            Assert.AreEqual<byte>(0xAA, page[255]);
        }
示例#5
0
 public void SetLineOutOfRange()
 {
     Page page = new Page();
     PageLine line = new PageLine();
     page.SetLine(16, line);
 }
示例#6
0
 public void IndexerOutOfRange()
 {
     Page page = new Page();
     page[256] = 0xFF;
 }
示例#7
0
 public void GetLineOutOfRange()
 {
     Page page = new Page();
     PageLine line = page.GetLine(16);
 }
示例#8
0
        public void ToByteArray()
        {
            Page page = new Page();

            page[0] = 0x44;
            page[255] = 0x66;

            byte[] array = page;

            Assert.AreEqual(Page.Size, array.Length);
            Assert.AreEqual<byte>(0x44, array[0]);
            Assert.AreEqual<byte>(0, array[1]);
            Assert.AreEqual<byte>(0x66, array[255]);
        }
示例#9
0
        public void SetPage(int pageNumber, Page page)
        {
            if (pageNumber < 0 || pageNumber >= NumberOfPages)
                throw new IndexOutOfRangeException("pageNumber");

            if (page == null)
                throw new ArgumentNullException("page");

            for (int i = 0; i < Page.Size; i++)
                this[pageNumber * Page.Size + i] = page[i];
        }
示例#10
0
        public Page GetPageByAddress(long address)
        {
            if (address < 0 || address > Size - Page.Size)
                throw new IndexOutOfRangeException(string.Format(Resources.AddressOutOfRange, address, 0, Size - Page.Size));

            Page page = new Page();
            for (int i = 0; i < Page.Size; i++)
                page[i] = this[address + i];

            return page;
        }
示例#11
0
        public Page GetPage(int pageNumber)
        {
            if (pageNumber < 0 || pageNumber >= NumberOfPages)
                throw new IndexOutOfRangeException("pageNumber");

            Page page = new Page();

            for (int i = 0; i < Page.Size; i++)
                page[i] = this[pageNumber * Page.Size + i];

            return page;
        }