1 /* 2 * Copyright (C) 2009 The Guava Authors 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.common.collect; 18 19 import com.google.common.annotations.GwtCompatible; 20 import com.google.common.annotations.GwtIncompatible; 21 import com.google.common.testing.EqualsTester; 22 23 /** 24 * Tests {@link EmptyImmutableTable} 25 * 26 * @author Gregory Kick 27 */ 28 @GwtCompatible(emulated = true) 29 public class EmptyImmutableTableTest extends AbstractImmutableTableTest { 30 private static final ImmutableTable<Character, Integer, String> INSTANCE = ImmutableTable.of(); 31 32 @Override getTestInstances()33 Iterable<ImmutableTable<Character, Integer, String>> getTestInstances() { 34 return ImmutableSet.of(INSTANCE); 35 } 36 testHashCode()37 public void testHashCode() { 38 assertEquals(0, INSTANCE.hashCode()); 39 } 40 testEqualsObject()41 public void testEqualsObject() { 42 Table<Character, Integer, String> nonEmptyTable = HashBasedTable.create(); 43 nonEmptyTable.put('A', 1, "blah"); 44 45 new EqualsTester() 46 .addEqualityGroup(INSTANCE, HashBasedTable.create(), TreeBasedTable.create()) 47 .addEqualityGroup(nonEmptyTable) 48 .testEquals(); 49 } 50 51 @GwtIncompatible // ArrayTable testEqualsObjectNullValues()52 public void testEqualsObjectNullValues() { 53 new EqualsTester() 54 .addEqualityGroup(INSTANCE) 55 .addEqualityGroup(ArrayTable.create(ImmutableSet.of('A'), ImmutableSet.of(1))) 56 .testEquals(); 57 } 58 testToString()59 public void testToString() { 60 assertEquals("{}", INSTANCE.toString()); 61 } 62 testSize()63 public void testSize() { 64 assertEquals(0, INSTANCE.size()); 65 } 66 testGet()67 public void testGet() { 68 assertNull(INSTANCE.get('a', 1)); 69 } 70 testIsEmpty()71 public void testIsEmpty() { 72 assertTrue(INSTANCE.isEmpty()); 73 } 74 testCellSet()75 public void testCellSet() { 76 assertEquals(ImmutableSet.of(), INSTANCE.cellSet()); 77 } 78 testColumn()79 public void testColumn() { 80 assertEquals(ImmutableMap.of(), INSTANCE.column(1)); 81 } 82 testColumnKeySet()83 public void testColumnKeySet() { 84 assertEquals(ImmutableSet.of(), INSTANCE.columnKeySet()); 85 } 86 testColumnMap()87 public void testColumnMap() { 88 assertEquals(ImmutableMap.of(), INSTANCE.columnMap()); 89 } 90 testContains()91 public void testContains() { 92 assertFalse(INSTANCE.contains('a', 1)); 93 } 94 testContainsColumn()95 public void testContainsColumn() { 96 assertFalse(INSTANCE.containsColumn(1)); 97 } 98 testContainsRow()99 public void testContainsRow() { 100 assertFalse(INSTANCE.containsRow('a')); 101 } 102 testContainsValue()103 public void testContainsValue() { 104 assertFalse(INSTANCE.containsValue("blah")); 105 } 106 testRow()107 public void testRow() { 108 assertEquals(ImmutableMap.of(), INSTANCE.row('a')); 109 } 110 testRowKeySet()111 public void testRowKeySet() { 112 assertEquals(ImmutableSet.of(), INSTANCE.rowKeySet()); 113 } 114 testRowMap()115 public void testRowMap() { 116 assertEquals(ImmutableMap.of(), INSTANCE.rowMap()); 117 } 118 testValues()119 public void testValues() { 120 assertTrue(INSTANCE.values().isEmpty()); 121 } 122 } 123