public void FromValue_WithEmptyBox_ShouldReturnAnInstance() { // Arrange, Act var tree = AxisAlignedBoundingBoxTree <BoxWrapper> .FromValue(new BoxWrapper(AxisAlignedBoundingBox.Empty)); // Assert Assert.NotNull(tree); Assert.NotNull(tree.Root); }
private AxisAlignedBoundingBoxTree <TValue> ConstructTreeRecursively <TValue>(AxisAlignedBoundingBoxTree <TValue> tree, IEnumerator <TValue> actors) where TValue : class, IAxisAlignedBoundingBoxContainer => actors.MoveNext() ? ConstructTreeRecursively(tree.Insert(actors.Current), actors) : tree;
private ICollection <ISprite> InternalDetectCollisions(AxisAlignedBoundingBoxTree <SpriteWrapper> tree, SpriteWrapper target) => tree.Find(target) .Where(collision => _narrowPhase.Overlap(target.Sprite, collision.Sprite)) .Select(wrapper => wrapper.Sprite) .ToList();
public void FromValue_WithNullValue_ShouldThrowArgumentNullException() { // Act, Assert Assert.Throws <ArgumentNullException>(() => AxisAlignedBoundingBoxTree <BoxWrapper> .FromValue(null)); }