basic test
This commit is contained in:
		
							parent
							
								
									00cff46077
								
							
						
					
					
						commit
						899527d3e7
					
				@ -78,7 +78,7 @@ pub enum MapEnemyError {
 | 
				
			|||||||
// making this `pub type` doesn't allow `impl`s to be defined?
 | 
					// making this `pub type` doesn't allow `impl`s to be defined?
 | 
				
			||||||
#[derive(Clone, Debug, Serialize, Deserialize)]
 | 
					#[derive(Clone, Debug, Serialize, Deserialize)]
 | 
				
			||||||
pub struct RareMonsterAppearTable {
 | 
					pub struct RareMonsterAppearTable {
 | 
				
			||||||
    appear_rate: HashMap<MonsterType, f32>,
 | 
					    pub appear_rate: HashMap<MonsterType, f32>,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
impl RareMonsterAppearTable {
 | 
					impl RareMonsterAppearTable {
 | 
				
			||||||
 | 
				
			|||||||
@ -101,3 +101,23 @@ async fn test_item_ids_reset_when_rejoining_rooms() {
 | 
				
			|||||||
        _ => panic!(),
 | 
					        _ => panic!(),
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[async_std::test]
 | 
				
			||||||
 | 
					async fn test_load_rare_monster_default_appear_rates() {
 | 
				
			||||||
 | 
					    let mut entity_gateway = InMemoryGateway::default();
 | 
				
			||||||
 | 
					    let (_user1, _char1) = new_user_character(&mut entity_gateway, "a1", "a").await;
 | 
				
			||||||
 | 
					    let mut ship = Box::new(ShipServerState::builder()
 | 
				
			||||||
 | 
					        .gateway(entity_gateway.clone())
 | 
				
			||||||
 | 
					        .build());
 | 
				
			||||||
 | 
					    log_in_char(&mut ship, ClientId(1), "a1", "a").await;
 | 
				
			||||||
 | 
					    join_lobby(&mut ship, ClientId(1)).await;
 | 
				
			||||||
 | 
					    create_room(&mut ship, ClientId(1), "room", "").await;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // assume episode 1
 | 
				
			||||||
 | 
					    let room = ship.blocks.0[0].rooms[0].as_ref().unwrap();
 | 
				
			||||||
 | 
					    println!("rare monster table: {:?}", room.rare_monster_table);
 | 
				
			||||||
 | 
					    let rates = &*room.rare_monster_table;
 | 
				
			||||||
 | 
					    for (_monster, rate) in rates.clone().appear_rate {
 | 
				
			||||||
 | 
					        assert_eq!(rate, 0.001953125f32); // 1/512 = 0.001953125
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user