• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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