@Test public void testEntrySet() { Map<Integer, String> map = redisson.getMap("simple12"); map.put(1, "12"); map.put(2, "33"); map.put(3, "43"); Assert.assertEquals(3, map.entrySet().size()); MatcherAssert.assertThat(map, Matchers.hasEntry(Matchers.equalTo(1), Matchers.equalTo("12"))); MatcherAssert.assertThat(map, Matchers.hasEntry(Matchers.equalTo(2), Matchers.equalTo("33"))); MatcherAssert.assertThat(map, Matchers.hasEntry(Matchers.equalTo(3), Matchers.equalTo("43"))); }
@Test public void testEvaluateCastFromObject() throws Exception { ToGeoFunction fn = getFunction(FUNCTION_NAME, DataTypes.OBJECT); Object val = fn.evaluate(Literal.newLiteral(DataTypes.OBJECT, VALID_OBJECT)); assertThat(val, instanceOf(Map.class)); Map<String, Object> valMap = (Map<String, Object>) val; assertThat(valMap.size(), is(2)); assertThat( valMap, Matchers.allOf( Matchers.<String, Object>hasEntry("type", "Polygon"), Matchers.hasEntry("coordinates", VALID_OBJECT.get("coordinates")))); }
@Test public void testStateFileCanBeRead() throws Exception { final MetricsLimiterStateManager out = new MetricsLimiterStateManager.Builder().setStateFile(STATE_FILE).build(_marks); out.writeState(); final Map<String, Mark> inMarks = out.readState(); Assert.assertEquals(2, inMarks.size()); Assert.assertThat( inMarks, Matchers.allOf( Matchers.hasEntry(METRIC_A, new Mark(6, _time1)), Matchers.hasEntry(METRIC_B, new Mark(1, _time2)))); }
/** * ArrayMap can work as a map. * * @throws Exception If some problem inside */ @Test public void worksAsANormalMap() throws Exception { final ConcurrentMap<Integer, String> map = new ConcurrentHashMap<Integer, String>(0); final String value = "first value"; map.put(1, value); map.put(2, "second"); MatcherAssert.assertThat(new ArrayMap<Integer, String>(map), Matchers.hasEntry(1, value)); }
/** * ArrayMap can make a map fluently. * * @throws Exception If some problem inside */ @Test public void buildsMapFluently() throws Exception { MatcherAssert.assertThat( new ArrayMap<Integer, String>() .with(Tv.FIVE, "four") .with(Tv.FIVE, Integer.toString(Tv.FIVE)) .with(Tv.FORTY, "fourty") .without(Tv.FORTY) .with(Tv.TEN, "ten"), Matchers.allOf( Matchers.not(Matchers.hasKey(Tv.FORTY)), Matchers.hasValue(Integer.toString(Tv.FIVE)), Matchers.hasKey(Tv.FIVE), Matchers.hasEntry(Tv.FIVE, Integer.toString(Tv.FIVE)))); }
/** * GithubProfile can fetch a YAML config. * * @throws Exception In case of error. */ @Test public void fetchesYamlConfig() throws Exception { final Repo repo = GithubProfileTest.repo( Joiner.on('\n') .join( "assets:", " test.xml: jeff/test1#test.xml", " beta: jeff/test1#test.xml", "architect:", " - jeff", " - donald", "merge:", " script: hello!")); final String yaml = "friends:\n - jeff/test2"; repo.github() .repos() .get(new Coordinates.Simple("jeff/test1")) .contents() .create( Json.createObjectBuilder() .add("path", ".rultor.yml") .add("message", "rultor config") .add("content", Base64.encodeBase64String(yaml.getBytes())) .build()); final Profile profile = new GithubProfile(repo); MatcherAssert.assertThat( profile.read(), XhtmlMatchers.hasXPaths( "/p/entry[@key='merge']/entry[@key='script']", "/p/entry[@key='assets']/entry[@key='test.xml']", "/p/entry[@key='assets']/entry[@key='beta']")); MatcherAssert.assertThat( profile.read().xpath("/p/entry[@key='architect']/item/text()"), Matchers.contains("jeff", "donald")); MatcherAssert.assertThat( profile.assets(), Matchers.hasEntry(Matchers.equalTo("test.xml"), Matchers.notNullValue())); }
// To fix generics bounding static Matcher<Map<? extends String, ?>> hasEntry(String key, Object value) { return Matchers.hasEntry(key, value); }