public void Clear_MapHasEntries_CannotGetOldEntry() { const int count = 5; ProgramIndexMapInfoManager manager = CreatePopulatedManager(count, x => x + 1); manager.Clear(); Assert.Null(manager.Get(new ProgramId(2))); }
public void Clear_MapHasEntries_CountIsZero() { const int count = 5; ProgramIndexMapInfoManager manager = CreatePopulatedManager(count, x => x + 1); manager.Clear(); Assert.Equal(0, manager.GetProgramCount()); }
public void GetProgramId_InputIndexDoesNotExist_ReturnsInvalidId() { const int count = 5; ProgramIndexMapInfoManager manager = CreatePopulatedManager(count, x => x + 1); Assert.Equal(ProgramId.InvalidId, manager.GetProgramId(new ProgramId(2), 5)); Assert.Equal(ProgramId.InvalidId, manager.GetProgramId(new ProgramId(2), 12)); Assert.Equal(ProgramId.InvalidId, manager.GetProgramId(new ProgramId(2), 255)); }
public void Get_IdDoesNotExist_ReturnsNull() { const int count = 5; ProgramIndexMapInfoManager manager = CreatePopulatedManager(count, x => x + 3); Assert.Null(manager.Get(new ProgramId(0))); Assert.Null(manager.Get(new ProgramId(2))); Assert.Null(manager.Get(new ProgramId(8))); Assert.Null(manager.Get(new ProgramId(9001))); }
public void GetProgramCount_MapHasEntries_ReturnsCorrectCount() { ProgramIndexMapInfoManager manager = CreatePopulatedManager(1, x => x + 1); Assert.Equal(1, manager.GetProgramCount()); manager = CreatePopulatedManager(10, x => x + 1); Assert.Equal(10, manager.GetProgramCount()); manager = CreatePopulatedManager(255, x => x + 1); Assert.Equal(255, manager.GetProgramCount()); }
private ProgramIndexMapInfoManager CreatePopulatedManager(int count, Func <int, long> idCreator) { var manager = new ProgramIndexMapInfoManager(); var map = new ProgramIndexMapInfo[count]; for (int i = 0; i < map.Length; i++) { map[i].MainProgramId = new ProgramId((ulong)idCreator(0)); map[i].ProgramId = new ProgramId((ulong)idCreator(i)); map[i].ProgramIndex = (byte)i; } Assert.Success(manager.Reset(map)); return(manager); }
public void GetProgramId_WithIndex_ReturnsProgramIdOfSpecifiedIndex() { const int count = 5; ProgramIndexMapInfoManager manager = CreatePopulatedManager(count, x => (x + 1) * 5); // Check that the program ID can be retrieved using any program in the set Assert.Equal(new ProgramId(20), manager.GetProgramId(new ProgramId(5), 3)); Assert.Equal(new ProgramId(20), manager.GetProgramId(new ProgramId(10), 3)); Assert.Equal(new ProgramId(20), manager.GetProgramId(new ProgramId(15), 3)); Assert.Equal(new ProgramId(20), manager.GetProgramId(new ProgramId(20), 3)); Assert.Equal(new ProgramId(20), manager.GetProgramId(new ProgramId(25), 3)); // Check that any index can be used Assert.Equal(new ProgramId(5), manager.GetProgramId(new ProgramId(10), 0)); Assert.Equal(new ProgramId(10), manager.GetProgramId(new ProgramId(10), 1)); Assert.Equal(new ProgramId(15), manager.GetProgramId(new ProgramId(10), 2)); Assert.Equal(new ProgramId(20), manager.GetProgramId(new ProgramId(10), 3)); Assert.Equal(new ProgramId(25), manager.GetProgramId(new ProgramId(10), 4)); }
public void Get_IdExists_ReturnsCorrectMapInfo() { const int count = 5; ProgramIndexMapInfoManager manager = CreatePopulatedManager(count, x => x + 1); // ReSharper disable PossibleInvalidOperationException ProgramIndexMapInfo?map = manager.Get(new ProgramId(1)); Assert.NotNull(map); Assert.Equal(new ProgramId(1), map.Value.MainProgramId); Assert.Equal(new ProgramId(1), map.Value.ProgramId); Assert.Equal(0, map.Value.ProgramIndex); map = manager.Get(new ProgramId(4)); Assert.NotNull(map); Assert.Equal(new ProgramId(1), map.Value.MainProgramId); Assert.Equal(new ProgramId(4), map.Value.ProgramId); Assert.Equal(3, map.Value.ProgramIndex); // ReSharper restore PossibleInvalidOperationException }
public void GetProgramCount_MapIsEmpty_ReturnsZero() { var manager = new ProgramIndexMapInfoManager(); Assert.Equal(0, manager.GetProgramCount()); }