@Test
  public void replaceOldValueWithNewValue() {
    User jackHandy = getUser("jackHandy");
    User imaPigg = getUser("imaPigg");

    assertThat(users.containsValue(jackHandy)).isTrue();
    assertThat(usersTemplate.replace(getKey(jackHandy), null, imaPigg)).isFalse();
    assertThat(users.containsValue(jackHandy)).isTrue();
    assertThat(users.get(getKey(jackHandy))).isEqualTo(jackHandy);
    assertThat(usersTemplate.replace(getKey(jackHandy), jackHandy, imaPigg)).isTrue();
    assertThat(users.containsValue(jackHandy)).isFalse();
    assertThat(users.get(getKey(jackHandy))).isEqualTo(imaPigg);
  }
  @Test
  public void replace() {
    User randyHandy = users.get(getKey(getUser("randyHandy")));
    User lukeFluke = newUser("lukeFluke");
    User chrisGriffon = newUser("chrisGriffon");

    assertThat(randyHandy).isNotNull();
    assertThat(usersTemplate.replace(getKey(randyHandy), lukeFluke)).isEqualTo(randyHandy);
    assertThat(users.get(getKey(randyHandy))).isEqualTo(lukeFluke);
    assertThat(users.containsValue(randyHandy)).isFalse();
    assertThat(users.containsValue(chrisGriffon)).isFalse();
    assertThat(usersTemplate.replace(getKey(chrisGriffon), chrisGriffon)).isNull();
    assertThat(users.containsValue(chrisGriffon)).isFalse();
  }