private void Button_Load_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "DAT File (*.dat)|*.dat"; if (openFileDialog.ShowDialog() == true) { NdfDatabase database = new NdfDatabase(openFileDialog.FileName); generator = new RandomDeckGenerator(database); buttonGenerate.IsEnabled = true; } }
public void FiltersTransports() { HashSet <uint> transportsSet = new HashSet <uint>(); HashSet <uint> unitsSet = new HashSet <uint>(); foreach (var unit in RandomDeckGenerator.FilterOutTransports(units)) { unitsSet.Add(unit.UnitId); foreach (var transport in unit.Transports) { transportsSet.Add(transport.UnitId); } } Assert.AreEqual(0, unitsSet.Intersect(transportsSet).ToList().Count); }
//[TestMethod] public void NumberOfCardsDoesNotExceedLimits() { RandomDeckGenerator realGenerator = new RandomDeckGenerator(new NdfDatabase("NDF_Win.dat")); List <WargameUnit> units = realGenerator.LoadUnits(Deck.DeckType.Ussr); units = realGenerator.FilterInvalidUnits(units); units = realGenerator.FilterByDeckType(units, Deck.DeckType.Ussr); for (int i = 0; i < 10; i++) { realGenerator.GenerateDeck(Deck.DeckType.Ussr); var usedUnits = realGenerator.AddedUnits; foreach (var unit in units) { Assert.IsTrue(unit.Cards >= usedUnits[unit.UnitId], "Unit " + unit.Name + ": Max is " + unit.Cards + ", but used " + usedUnits[unit.UnitId]); foreach (var transport in unit.Transports) { Assert.IsTrue(transport.Cards >= usedUnits[transport.UnitId], "Transport " + transport.Name + ": Max is " + transport.Cards + ", but used " + usedUnits[transport.UnitId]); } } } }
public void Setup() { generator = new RandomDeckGenerator(fakeDatabase); }