@Test
	public void testFunctionality() {
		GameConfiguration origConf = new GameConfiguration();
		origConf.setAgentCount(1);
		origConf.setFoodAmountIncrese(2);
		origConf.setHiddenLayers(3);
		origConf.setInitialFoodAmount(4);
		origConf.setMutate(true);
		origConf.setMutationAmount(5);
		origConf.setMutationProb(0.312);
		origConf.setNodesPerHiddenLayer(6);
		origConf.setRecombine(false);
		origConf.setWinnerCount(7);
		origConf.setWorldSize(1024);
		try
		{
			File f;
			f = tempf.newFile("test.tmp");
			JAXBConfigLoader loader = new JAXBConfigLoader(f);
			loader.save(origConf);
			GameConfiguration loadedConf = loader.load();
			for (Method method : GameConfiguration.class.getMethods())
			{
				if (isGetter(method))
				{
					Object orig=method.invoke(origConf);
					Object loaded=method.invoke(loadedConf);
					if (!orig.equals(loaded)) fail("Values returned by "+method.getName()+" not match");
					//assertEquals("Fields not match", method.invoke(origConf), method.invoke(loadedConf));
				}
			}
		} catch (IOException e1) {
			Assert.fail("Error while creating temporary file");
		} catch (IllegalAccessException e) {
			Assert.fail("Error while iterating through getters");
		} catch (IllegalArgumentException e) {
			Assert.fail("Error while iterating through getters");
		} catch (InvocationTargetException e) {
			Assert.fail("Error while iterating through getters");
		}
	}