/*
 * Copyright (c) 2013 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package com.google.api.client.util;

import junit.framework.TestCase;

/**
 * Tests {@link Objects}.
 *
 * @author Yaniv Inbar
 */
public class ObjectsTest extends TestCase {
  public void testToStringHelper() {
    String toTest = Objects.toStringHelper(new TestClass()).add("hello", "world").toString();
    assertEquals("TestClass{hello=world}", toTest);
  }

  public void testConstructor_innerClass() {
    String toTest = Objects.toStringHelper(new TestClass()).toString();
    assertEquals("TestClass{}", toTest);
  }

  public void testToString_oneIntegerField() {
    String toTest =
        Objects.toStringHelper(new TestClass()).add("field1", new Integer(42)).toString();
    assertEquals("TestClass{field1=42}", toTest);
  }

  public void testToStringOmitNullValues_oneField() {
    String toTest =
        Objects.toStringHelper(new TestClass()).omitNullValues().add("field1", null).toString();
    assertEquals("TestClass{}", toTest);
  }

  private static class TestClass {}
}
