@Test public void defaultValue() { CaseFunction<Foo, String> function = Functions.caseDefault( Functions.getFixedValue("Yow!"), Predicates.attributeGreaterThan(Foo.TO_VALUE, 5.0D), Functions.getFixedValue("Patience, grasshopper")); Assert.assertEquals("Yow!", function.valueOf(new Foo("", 1.0D))); function.setDefault(Functions.getFixedValue("Patience, young grasshopper")); Assert.assertEquals("Patience, grasshopper", function.valueOf(new Foo("", 6.0D))); Assert.assertEquals("Patience, young grasshopper", function.valueOf(new Foo("", 1.0D))); Verify.assertContains("CaseFunction", function.toString()); }