function shallowMatch(expected) {
  return (actual) => {
    for (const key in expected) {
      if (actual[key] !== expected[key]) {
        return false;
      }
    }
    return true;
  };
}
Returns a matcher that asserts that the actual object has the same properties
and values (shallowly equated) as the expected object.
@param {!Object} expected The expected set of properties we expect the
   actual object to have.
@returns {function(*): boolean} A matcher that returns true if the `actual`
    object has all of the properties of the `expected` param, with the same
    values.