protected override void Cleanup() {
     if (subset != null) {
         subset.Dispose();
         subset = null;
     }
 }
 public byte[] Should_the_origin_memory_contain_the_correct_data_when_using_the_INDEXER_method(int startOffset, int value) {
     using (var managedMemory = new ManagedMemory(10)) {
         using (var subset = new MemorySubset(managedMemory, 2, 4, false)) {
             subset[startOffset] = (byte) value;
             return managedMemory.ToArray();
         }
     }
 }
 protected override void EstablishContext() {
     managedMemory = new ManagedMemory(10);
     subset = new MemorySubset(managedMemory, 2, 4, true);
 }
 private static IEnumerable<ITlc59711Device> CreateDevices(IMemory memory, int numberOfDevices) {
     for (var i = 0; i < numberOfDevices; i++) {
         var subset = new MemorySubset(memory, i * COMMAND_SIZE, COMMAND_SIZE, false);
         yield return new Tlc59711Device(subset);
     }
 }