1 /* 2 * Copyright (C) 2008 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.collect.testing.SortedMapInterfaceTest; 21 import java.util.SortedMap; 22 23 @GwtCompatible 24 public class TreeBasedTableRowMapInterfaceTest extends SortedMapInterfaceTest<String, String> { TreeBasedTableRowMapInterfaceTest()25 public TreeBasedTableRowMapInterfaceTest() { 26 super(false, false, true, true, true); 27 } 28 29 @Override makeEmptyMap()30 protected SortedMap<String, String> makeEmptyMap() { 31 TreeBasedTable<String, String, String> table = TreeBasedTable.create(); 32 table.put("a", "b", "c"); 33 table.put("c", "b", "a"); 34 table.put("a", "a", "d"); 35 return table.row("b"); 36 } 37 38 @Override makePopulatedMap()39 protected SortedMap<String, String> makePopulatedMap() { 40 TreeBasedTable<String, String, String> table = TreeBasedTable.create(); 41 table.put("a", "b", "c"); 42 table.put("c", "b", "a"); 43 table.put("b", "b", "x"); 44 table.put("b", "c", "y"); 45 table.put("b", "x", "n"); 46 table.put("a", "a", "d"); 47 return table.row("b"); 48 } 49 50 @Override getKeyNotInPopulatedMap()51 protected String getKeyNotInPopulatedMap() { 52 return "q"; 53 } 54 55 @Override getValueNotInPopulatedMap()56 protected String getValueNotInPopulatedMap() { 57 return "p"; 58 } 59 testClearSubMapOfRowMap()60 public void testClearSubMapOfRowMap() { 61 TreeBasedTable<String, String, String> table = TreeBasedTable.create(); 62 table.put("a", "b", "c"); 63 table.put("c", "b", "a"); 64 table.put("b", "b", "x"); 65 table.put("b", "c", "y"); 66 table.put("b", "x", "n"); 67 table.put("a", "a", "d"); 68 table.row("b").subMap("c", "x").clear(); 69 assertEquals(table.row("b"), ImmutableMap.of("b", "x", "x", "n")); 70 table.row("b").subMap("b", "y").clear(); 71 assertEquals(table.row("b"), ImmutableMap.of()); 72 assertFalse(table.backingMap.containsKey("b")); 73 } 74 } 75