code: def test_object1darrayoverwrite(self):
      pairs = [
          u + l for u, l in product(ascii_uppercase, ascii_lowercase)
      ]
      categories = pairs + ["~" + c for c in pairs]
      baseline = LabelArray(
          array(
              [
                  ["".join((r, c)) for c in "abc"]
                  for r in ascii_uppercase
              ]
          ),
          None,
          categories,
      )
      full_expected = baseline.copy()
  
      def flip(cs):
          if cs is None:
              return None
          if cs[0] != "~":
              return "~" + cs
          return cs
  
      def make_overwrite(fr, lr, fc, lc):
          fr, lr, fc, lc = map(ord, (fr, lr, fc, lc))
          fr -= ord("A")
          lr -= ord("A")
          fc -= ord("a")
          lc -= ord("a")
  
          return Object1DArrayOverwrite(
              fr,
              lr,
              fc,
              lc,
              baseline[fr : lr + 1, fc].map(flip),
          )
  
      overwrites = {
          3: [make_overwrite("A", "B", "a", "a")],
          4: [make_overwrite("A", "C", "b", "c")],
          5: [make_overwrite("D", "D", "a", "b")],
      }
  
      it = AdjustedArray(baseline, overwrites, None).traverse(3)
  
      window = next(it)
      expected = full_expected[:3]
      check_arrays(window, expected)
  
      window = next(it)
      full_expected[0:2, 0] = LabelArray(["~Aa", "~Ba"], None)
      expected = full_expected[1:4]
      check_arrays(window, expected)
  
      window = next(it)
      full_expected[0:3, 1:3] = LabelArray(
          [["~Ab", "~Ac"], ["~Bb", "~Bc"], ["~Cb", "~Cb"]], None
      )
      expected = full_expected[2:5]
      check_arrays(window, expected)
  
      window = next(it)
      full_expected[3, :2] = "~Da"
      expected = full_expected[3:6]
      check_arrays(window, expected)
  
imports: from collections import namedtuple
  from itertools import chain, product
  from string import ascii_lowercase, ascii_uppercase
  from textwrap import dedent
  from unittest import TestCase
  from nose_parameterized import parameterized
  from numpy import arange, array, asarray, dtype, full
  from six.moves import zip_longest
  from toolz import curry
  from zipline.errors import WindowLengthNotPositive, WindowLengthTooLong
  from zipline.lib.adjustment import Boolean1DArrayOverwrite, BooleanOverwrite, Datetime641DArrayOverwrite, Datetime64Overwrite, Float641DArrayOverwrite, Float64Multiply, Float64Overwrite, Int64Overwrite, Object1DArrayOverwrite, ObjectOverwrite
  from zipline.lib.adjusted_array import AdjustedArray
  from zipline.lib.labelarray import LabelArray
  from zipline.testing import check_arrays
  from zipline.testing.predicates import assert_equal
  from zipline.utils.compat import unicode
  from zipline.utils.numpy_utils import coerce_to_dtype, datetime64ns_dtype, default_missing_value_for_dtype, bool_dtype, float64_dtype, int64_dtype, object_dtype
label_desc: Use image node_id 6 for calling the AdjustedArrayTestCase obj's underlying member method code with example usage: obj.test_object1darrayoverwrite() and returns: cs, Object1DArrayOverwrite, None, unknown