protected bool AssertComponentsFromExpectedSource(SkinnableTarget target, ISkin expectedSource) { var actualComponentsContainer = Player.ChildrenOfType <SkinnableTargetContainer>().First(s => s.Target == target) .ChildrenOfType <SkinnableTargetComponentsContainer>().SingleOrDefault(); if (actualComponentsContainer == null) { return(false); } var actualInfo = actualComponentsContainer.CreateSkinnableInfo(); var expectedComponentsContainer = (SkinnableTargetComponentsContainer)expectedSource.GetDrawableComponent(new SkinnableTargetComponent(target)); if (expectedComponentsContainer == null) { return(false); } var expectedComponentsAdjustmentContainer = new Container { Position = actualComponentsContainer.Parent.ToSpaceOfOtherDrawable(actualComponentsContainer.DrawPosition, Content), Size = actualComponentsContainer.DrawSize, Child = expectedComponentsContainer, }; Add(expectedComponentsAdjustmentContainer); expectedComponentsAdjustmentContainer.UpdateSubTree(); var expectedInfo = expectedComponentsContainer.CreateSkinnableInfo(); Remove(expectedComponentsAdjustmentContainer); return(almostEqual(actualInfo, expectedInfo)); }
protected bool AssertComponentsFromExpectedSource(SkinnableTarget target, ISkin expectedSource) { var actualComponentsContainer = Player.ChildrenOfType <SkinnableTargetContainer>().First(s => s.Target == target) .ChildrenOfType <SkinnableTargetComponentsContainer>().SingleOrDefault(); if (actualComponentsContainer == null) { return(false); } var actualInfo = actualComponentsContainer.CreateSkinnableInfo(); var expectedComponentsContainer = (SkinnableTargetComponentsContainer)expectedSource.GetDrawableComponent(new SkinnableTargetComponent(target)); if (expectedComponentsContainer == null) { return(false); } var expectedComponentsAdjustmentContainer = new DependencyProvidingContainer { Position = actualComponentsContainer.Parent.ToSpaceOfOtherDrawable(actualComponentsContainer.DrawPosition, Content), Size = actualComponentsContainer.DrawSize, Child = expectedComponentsContainer, // proxy the same required dependencies that `actualComponentsContainer` is using. CachedDependencies = new (Type, object)[]
public SkinnableTargetContainer(SkinnableTarget target) { Target = target; }
private ISkinnableTarget getTarget(SkinnableTarget target) { return(availableTargets.FirstOrDefault(c => c.Target == target)); }
public SkinnableTargetComponent(SkinnableTarget target) { Target = target; }