public void CanSetSidesWithMultipleTricks() { List <IShred30Contact> contacts = new List <IShred30Contact>() { new Shred30Trick(OrdinalSideType.Left, MockFootbagTricks.Ripwalk), new Shred30Trick(OrdinalSideType.None, MockFootbagTricks.Blur), new Shred30Trick(OrdinalSideType.None, MockFootbagTricks.Dimwalk) }; this.ContactArranger = new StartSideArranger(); List <IShred30Contact> shred30Contacts = this.ContactArranger.ArrangeContacts(contacts).ToList(); Assert.AreEqual(OrdinalSideType.Left, shred30Contacts[0].StartSide); Assert.AreEqual(OrdinalSideType.Right, shred30Contacts[1].StartSide); Assert.AreEqual(OrdinalSideType.Right, shred30Contacts[2].StartSide); }
private StandardShred30ScoreCalculator GetScoreCalculator(IEnumerable <IShred30Contact> shred30Contacts, bool useXDex = true, IShred30ContactArranger contactArranger = null, IShredContact30Validator validator = null, IUniqueCalculator uniqueCalculator = null) { IAddCalculator addCalculator; if (useXDex) { addCalculator = new StandardAddCalculator(); } else { addCalculator = new NoXDexAddCalculator(); } return(new StandardShred30ScoreCalculator( shred30Contacts, contactArranger == null ? new List <IShred30ContactArranger>() : new List <IShred30ContactArranger> { contactArranger }, validator == null ? new List <IShredContact30Validator>() : new List <IShredContact30Validator> { validator }, addCalculator, uniqueCalculator == null ? new OpenAddsBasedUniqueCalculator() : uniqueCalculator )); }