MCPcopy Index your code
hub / github.com/battlecode/battlecode-2018 / test_research

Function test_research

battlecode-engine/src/unit.rs:1490–1518  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1488
1489 #[test]
1490 fn test_research() {
1491 // Create a unit and check that its basic fields are correct.
1492 let loc = MapLocation::new(Planet::Earth, 0, 0);
1493 let mut unit_a = Unit::new(1, Team::Red, Worker, 0, OnMap(loc)).unwrap();
1494 assert_eq!(unit_a.id(), 1);
1495 assert_eq!(unit_a.team(), Team::Red);
1496 assert_eq!(unit_a.unit_type(), Worker);
1497
1498 // Upgrade it twice and check its stats have been updated.
1499 assert_eq!(unit_a.research_level(), 0);
1500 assert_eq!(unit_a.worker_harvest_amount().unwrap(), 3);
1501 assert_eq!(unit_a.worker_build_health().unwrap(), 5);
1502
1503 unit_a.research().unwrap();
1504 assert_eq!(unit_a.research_level(), 1);
1505 assert_eq!(unit_a.worker_harvest_amount().unwrap(), 4);
1506 assert_eq!(unit_a.worker_build_health().unwrap(), 5);
1507
1508 unit_a.research().unwrap();
1509 assert_eq!(unit_a.research_level(), 2);
1510 assert_eq!(unit_a.worker_harvest_amount().unwrap(), 4);
1511 assert_eq!(unit_a.worker_build_health().unwrap(), 6);
1512
1513 // Create a unit with a default level above 0, and check its stats.
1514 let unit_b = Unit::new(2, Team::Red, Worker, 2, OnMap(loc)).unwrap();
1515 assert_eq!(unit_b.research_level(), 2);
1516 assert_eq!(unit_b.worker_harvest_amount().unwrap(), 4);
1517 assert_eq!(unit_b.worker_build_health().unwrap(), 6);
1518 }
1519
1520 #[test]
1521 fn test_cant_use_ability_on_first_turn() {

Callers

nothing calls this directly

Calls 1

researchMethod · 0.80

Tested by

no test coverage detected