@Test
	public void test_allGetMethods_hasExpired_allShouldFail()
	{
		// Take the standard descriptor and make it expire.
		descriptor.expire();
		
		// Ensure all getters refuse to return a value.
		for (int i = 0; i < MoleculeDescriptor.class.getDeclaredMethods().length; i += 1)
		{
			Method getter = MoleculeDescriptor.class.getMethods()[i];
			if (getter.getName().matches(GETTER_PATTERN))
			{
				try
				{
					getter.invoke(descriptor);
					throw new RuntimeException("Method ["+getter+"] failed to note that the descriptor had expired.");
				}
				catch (Error e)
				{
					// Should see an error thrown.
				}
				catch (IllegalArgumentException e)
				{
					e.printStackTrace();
					fail("Unexpected error: " + e.getLocalizedMessage());
				}
				catch (IllegalAccessException e)
				{
					e.printStackTrace();
					fail("Unexpected error: " + e.getLocalizedMessage());
				}
				catch (InvocationTargetException e)
				{
					// Intentionally thrown errors will go here too.
					if (!(e.getCause() instanceof Error))
					{
						e.printStackTrace();
						fail("Unexpected error: " + e.getLocalizedMessage());
					}
				}
			}
		}
	}