source: class TestStateHelper {
  
      @Test
      public void testEqualsStrict() {
  
target:         // null
          assertEqualsStrict((Serializable) null, (Serializable) null);
          assertNotEqualsStrict((Serializable) null, "foo");
  
          // Serializable
          assertEqualsStrict("foo", "foo");
          assertNotEqualsStrict("foo", "bar");
          assertEqualsStrict(Long.valueOf(123456), Long.valueOf(123456));
          assertNotEqualsStrict(Long.valueOf(123456), Long.valueOf(789123));
          assertNotEqualsStrict("foo", Long.valueOf(123456));
  
          // mixed
          assertNotEqualsStrict("foo", new State());
          assertNotEqualsStrict("foo", new ArrayList<Serializable>());
          assertNotEqualsStrict(new State(), new ArrayList<Serializable>());
  
          // Arrays
          assertEqualsStrict(new String[0], new String[0]);
          assertEqualsStrict(new String[] { "foo" }, new String[] { "foo" });
          assertNotEqualsStrict(new String[] { "foo" }, new String[] { "bar" });
  
          // States
          State a = new State();
          State b = new State();
          assertEqualsStrict(a, b);
          a.put("foo", "bar");
          assertNotEqualsStrict(a, b);
          b.put("foo", "bar");
          assertEqualsStrict(a, b);
          b.put("foo", "moo");
          assertNotEqualsStrict(a, b);
  
          a.put("foo", new State());
          b.put("foo", new State());
          assertEqualsStrict(a, b);
  
          // Lists
          ArrayList<Serializable> la = new ArrayList<Serializable>();
          ArrayList<Serializable> lb = new ArrayList<Serializable>();
          assertEqualsStrict(la, lb);
          la.add(new State());
          assertNotEqualsStrict(la, lb);
          lb.add(new State());
          assertEqualsStrict(la, lb);
          ((State) la.get(0)).put("foo", "bar");
          assertNotEqualsStrict(la, lb);
          ((State) lb.get(0)).put("foo", "bar");
          assertEqualsStrict(la, lb);
          ((State) lb.get(0)).put("foo", "moo");
          assertNotEqualsStrict(la, lb);
      }
  
  }