public void PICRegisterTraits_Reg8Test() { var trait = new PICRegisterTraits(BuildSFRDef(0, "Reg8", 8, 0x7F, "r-rrwnn", "10", false, false)); Assert.NotNull(trait); Assert.AreEqual(8, trait.BitWidth); Assert.AreEqual(0x7F, trait.Impl); Assert.AreEqual("Reg8", trait.Name); Assert.AreEqual("-r-rrwnn", trait.Access); Assert.AreEqual("00000010", trait.POR); Assert.AreEqual("uuuuuu10", trait.MCLR); Assert.IsFalse(trait.IsVolatile); Assert.IsFalse(trait.IsIndirect); }
public void PICRegisterTraits_InvalidRegTest() { var trait = new PICRegisterTraits(); Assert.NotNull(trait); Assert.AreEqual(8, trait.BitWidth); Assert.AreEqual(0xFF, trait.Impl); Assert.AreEqual("None", trait.Name); Assert.AreEqual("nnnnnnnn", trait.Access); Assert.AreEqual("uuuuuuuu", trait.POR); Assert.AreEqual("uuuuuuuu", trait.MCLR); Assert.IsFalse(trait.IsVolatile); Assert.IsFalse(trait.IsIndirect); }
public void PICRegisterTraits_FSRTest() { var fsrl = new PICRegisterTraits(BuildSFRDef(0, "FSRL", 8, 0xFF, "nnnnnnnn", "00000000", false, false)); var fsrh = new PICRegisterTraits(BuildSFRDef(1, "FSRH", 8, 0x1F, "nnnnn", "00000", false, false)); var fsr = BuildJoinedSFRDef(0, "FSR", 16); var trait = new PICRegisterTraits(fsr, new List <PICRegisterTraits>() { fsrl, fsrh }); Assert.NotNull(trait); Assert.AreEqual(16, trait.BitWidth); Assert.AreEqual(0x1FFF, trait.Impl); Assert.AreEqual("---nnnnnnnnnnnnn", trait.Access); Assert.AreEqual("0000000000000000", trait.POR); Assert.AreEqual("uuu0000000000000", trait.MCLR); Assert.IsFalse(trait.IsVolatile); Assert.IsFalse(trait.IsIndirect); }
public void PICRegisterTraits_FlagsTest() { var sfrl = BuildSFRDef(0, "REGL", 8, 0x7F, "-nnnnnnn", "-0000000", true, false); var regl = new PICRegisterTraits(sfrl); var sfrh = BuildSFRDef(1, "REGH", 8, 0x1F, "nnnnn", "00000", false, true); var regh = new PICRegisterTraits(sfrh); var reg = BuildJoinedSFRDef(0, "REG", 16); var trait = new PICRegisterTraits(reg, new List <PICRegisterTraits>() { regl, regh }); Assert.NotNull(trait); Assert.AreEqual(16, trait.BitWidth); Assert.AreEqual(0x1F7F, trait.Impl); Assert.AreEqual("---nnnnn-nnnnnnn", trait.Access); Assert.AreEqual("00000000-0000000", trait.POR); Assert.AreEqual("uuu00000-0000000", trait.MCLR); Assert.IsTrue(trait.IsVolatile); Assert.IsTrue(trait.IsIndirect); }