Selaa lähdekoodia

Few more checks

AlexVinS 10 vuotta sitten
vanhempi
sitoutus
8f209b17b6
1 muutettua tiedostoa jossa 30 lisäystä ja 18 poistoa
  1. 30 18
      test/MapComparer.cpp

+ 30 - 18
test/MapComparer.cpp

@@ -13,40 +13,52 @@
 
 #include "MapComparer.h"
 
-#define VCMI_CHECK_FIELD_EQUAL(field) BOOST_CHECK_EQUAL(actual->field, expected->field)
+#define VCMI_CHECK_FIELD_EQUAL_P(field) BOOST_CHECK_EQUAL(actual->field, expected->field)
 
-std::ostream& operator<< (std::ostream& os, const PlayerInfo & p)
+#define VCMI_CHECK_FIELD_EQUAL(field) BOOST_CHECK_EQUAL(actual.field, expected.field)
+
+#define VCMI_REQUIRE_FIELD_EQUAL(field) BOOST_REQUIRE_EQUAL(actual->field, expected->field)
+
+std::ostream& operator<< (std::ostream& os, const PlayerInfo & value)
 {
 	os << "PlayerInfo"; 
 	return os;
 }
 
+//std::ostream& operator<< (std::ostream& os, const std::set<ui8> & value)
+//{
+//	os << "'Set'"; 
+//	return os;
+//}
+
 bool operator!=(const PlayerInfo & actual, const PlayerInfo & expected)
 {
-	
-	
-	return true;
+	VCMI_CHECK_FIELD_EQUAL(canHumanPlay);
+	VCMI_CHECK_FIELD_EQUAL(canComputerPlay);
+	VCMI_CHECK_FIELD_EQUAL(aiTactic);
+	//VCMI_CHECK_FIELD_EQUAL(allowedFactions);
+	return false;
 }
 
 void MapComparer::compareHeader()
 {
-	VCMI_CHECK_FIELD_EQUAL(name);
-	VCMI_CHECK_FIELD_EQUAL(description);
-	VCMI_CHECK_FIELD_EQUAL(difficulty);
-	VCMI_CHECK_FIELD_EQUAL(levelLimit);
-
-	VCMI_CHECK_FIELD_EQUAL(victoryMessage);
-	VCMI_CHECK_FIELD_EQUAL(defeatMessage);
-	VCMI_CHECK_FIELD_EQUAL(victoryIconIndex);
-	VCMI_CHECK_FIELD_EQUAL(defeatIconIndex);
+	VCMI_CHECK_FIELD_EQUAL_P(name);
+	VCMI_CHECK_FIELD_EQUAL_P(description);
+	VCMI_CHECK_FIELD_EQUAL_P(difficulty);
+	VCMI_CHECK_FIELD_EQUAL_P(levelLimit);
+
+	VCMI_CHECK_FIELD_EQUAL_P(victoryMessage);
+	VCMI_CHECK_FIELD_EQUAL_P(defeatMessage);
+	VCMI_CHECK_FIELD_EQUAL_P(victoryIconIndex);
+	VCMI_CHECK_FIELD_EQUAL_P(defeatIconIndex);
 	
 	BOOST_CHECK_EQUAL_COLLECTIONS(actual->players.begin(), actual->players.end(), expected->players.begin(), expected->players.end());
 
 
 	//map size parameters are vital for further checks 
-	BOOST_REQUIRE_EQUAL(actual->height, expected->height);
-	BOOST_REQUIRE_EQUAL(actual->width, expected->width);
-	BOOST_REQUIRE_EQUAL(actual->twoLevel, expected->twoLevel);
+	VCMI_REQUIRE_FIELD_EQUAL(height);
+	VCMI_REQUIRE_FIELD_EQUAL(width);
+	VCMI_REQUIRE_FIELD_EQUAL(twoLevel);
 
 	BOOST_FAIL("Not implemented");
 }
@@ -73,8 +85,8 @@ void MapComparer::compare()
 	BOOST_REQUIRE_MESSAGE(actual != nullptr, "Expected map is not defined");
 
 	compareHeader();
-	compareObjects();
 	compareOptions();
+	compareObjects();
 	compareTerrain();
 }