Skip to content

Commit 0d957d3

Browse files
committed
Remove unused ResolveOrDefault trait
1 parent a1875bb commit 0d957d3

File tree

1 file changed

+24
-72
lines changed

1 file changed

+24
-72
lines changed

src/resolve.rs

Lines changed: 24 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,6 @@ pub(crate) trait MaybeResolve<In, Out> {
1313
fn maybe_resolve(self, context: In) -> Out;
1414
}
1515

16-
/// Trait to encapsulate behaviour where we need to resolve from a
17-
/// potentially context-dependent size or dimension into
18-
/// a context-independent size or dimension.
19-
///
20-
/// Will return a default value if it unable to resolve.
21-
pub(crate) trait ResolveOrDefault<TContext, TOutput> {
22-
/// Resolve a dimension that might be dependent on a context, with a default fallback value
23-
fn resolve_or_default(self, context: TContext) -> TOutput;
24-
}
25-
2616
/// Trait to encapsulate behaviour where we need to resolve from a
2717
/// potentially context-dependent size or dimension into
2818
/// a context-independent size or dimension.
@@ -87,44 +77,6 @@ impl<In, Out, T: MaybeResolve<In, Out>> MaybeResolve<Size<In>, Size<Out>> for Si
8777
}
8878
}
8979

90-
impl ResolveOrDefault<Option<f32>, f32> for Dimension {
91-
/// Will return a default value of result is evaluated to `None`
92-
fn resolve_or_default(self, context: Option<f32>) -> f32 {
93-
self.maybe_resolve(context).unwrap_or(0.0)
94-
}
95-
}
96-
97-
impl ResolveOrDefault<Size<Option<f32>>, Size<f32>> for Size<Dimension> {
98-
fn resolve_or_default(self, context: Size<Option<f32>>) -> Size<f32> {
99-
Size {
100-
width: self.width.resolve_or_default(context.width),
101-
height: self.height.resolve_or_default(context.height),
102-
}
103-
}
104-
}
105-
106-
impl ResolveOrDefault<Size<Option<f32>>, Rect<f32>> for Rect<Dimension> {
107-
fn resolve_or_default(self, context: Size<Option<f32>>) -> Rect<f32> {
108-
Rect {
109-
left: self.left.resolve_or_default(context.width),
110-
right: self.right.resolve_or_default(context.width),
111-
top: self.top.resolve_or_default(context.height),
112-
bottom: self.bottom.resolve_or_default(context.height),
113-
}
114-
}
115-
}
116-
117-
impl ResolveOrDefault<Option<f32>, Rect<f32>> for Rect<Dimension> {
118-
fn resolve_or_default(self, context: Option<f32>) -> Rect<f32> {
119-
Rect {
120-
left: self.left.resolve_or_default(context),
121-
right: self.right.resolve_or_default(context),
122-
top: self.top.resolve_or_default(context),
123-
bottom: self.bottom.resolve_or_default(context),
124-
}
125-
}
126-
}
127-
12880
impl ResolveOrZero<Option<f32>, f32> for LengthPercentage {
12981
/// Will return a default value of result is evaluated to `None`
13082
fn resolve_or_zero(self, context: Option<f32>) -> f32 {
@@ -284,8 +236,8 @@ mod tests {
284236
}
285237
}
286238

287-
mod resolve_or_default_dimension_to_option_f32 {
288-
use crate::resolve::ResolveOrDefault;
239+
mod resolve_or_zero_dimension_to_option_f32 {
240+
use crate::resolve::ResolveOrZero;
289241
use crate::style::Dimension;
290242
use rstest::rstest;
291243

@@ -294,30 +246,30 @@ mod tests {
294246
#[case(Dimension::Auto, Some(5.0), 0.0)]
295247
#[case(Dimension::Auto, Some(-5.0), 0.0)]
296248
#[case(Dimension::Auto, Some(0.0), 0.0)]
297-
fn resolve_or_default_auto(#[case] input: Dimension, #[case] context: Option<f32>, #[case] expected: f32) {
298-
assert_eq!(input.resolve_or_default(context), expected);
249+
fn resolve_or_zero_auto(#[case] input: Dimension, #[case] context: Option<f32>, #[case] expected: f32) {
250+
assert_eq!(input.resolve_or_zero(context), expected);
299251
}
300252
#[rstest]
301253
#[case(Dimension::Points(5.0), None, 5.0)]
302254
#[case(Dimension::Points(5.0), Some(5.0), 5.0)]
303255
#[case(Dimension::Points(5.0), Some(-5.0), 5.0)]
304256
#[case(Dimension::Points(5.0), Some(0.0), 5.0)]
305-
fn resolve_or_default_points(#[case] input: Dimension, #[case] context: Option<f32>, #[case] expected: f32) {
306-
assert_eq!(input.resolve_or_default(context), expected);
257+
fn resolve_or_zero_points(#[case] input: Dimension, #[case] context: Option<f32>, #[case] expected: f32) {
258+
assert_eq!(input.resolve_or_zero(context), expected);
307259
}
308260
#[rstest]
309261
#[case(Dimension::Percent(5.0), None, 0.0)]
310262
#[case(Dimension::Percent(5.0), Some(5.0), 25.0)]
311263
#[case(Dimension::Percent(5.0), Some(-5.0), -25.0)]
312264
#[case(Dimension::Percent(5.0), Some(0.0), 0.0)]
313-
fn resolve_or_default_percent(#[case] input: Dimension, #[case] context: Option<f32>, #[case] expected: f32) {
314-
assert_eq!(input.resolve_or_default(context), expected);
265+
fn resolve_or_zero_percent(#[case] input: Dimension, #[case] context: Option<f32>, #[case] expected: f32) {
266+
assert_eq!(input.resolve_or_zero(context), expected);
315267
}
316268
}
317269

318-
mod resolve_or_default_rect_dimension_to_rect {
270+
mod resolve_or_zero_rect_dimension_to_rect {
319271
use crate::geometry::{Rect, Size};
320-
use crate::resolve::ResolveOrDefault;
272+
use crate::resolve::ResolveOrZero;
321273
use crate::style::Dimension;
322274
use rstest::rstest;
323275

@@ -326,44 +278,44 @@ mod tests {
326278
#[case(Rect::auto(), Size::new(5.0, 5.0), Rect::zero())]
327279
#[case(Rect::auto(), Size::new(-5.0, -5.0), Rect::zero())]
328280
#[case(Rect::auto(), Size::new(0.0, 0.0), Rect::zero())]
329-
fn resolve_or_default_auto(
281+
fn resolve_or_zero_auto(
330282
#[case] input: Rect<Dimension>,
331283
#[case] context: Size<Option<f32>>,
332284
#[case] expected: Rect<f32>,
333285
) {
334-
assert_eq!(input.resolve_or_default(context), expected);
286+
assert_eq!(input.resolve_or_zero(context), expected);
335287
}
336288

337289
#[rstest]
338290
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Size::NONE, Rect::new(5.0, 5.0, 5.0, 5.0))]
339291
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Size::new(5.0, 5.0), Rect::new(5.0, 5.0, 5.0, 5.0))]
340292
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Size::new(-5.0, -5.0), Rect::new(5.0, 5.0, 5.0, 5.0))]
341293
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Size::new(0.0, 0.0), Rect::new(5.0, 5.0, 5.0, 5.0))]
342-
fn resolve_or_default_points(
294+
fn resolve_or_zero_points(
343295
#[case] input: Rect<Dimension>,
344296
#[case] context: Size<Option<f32>>,
345297
#[case] expected: Rect<f32>,
346298
) {
347-
assert_eq!(input.resolve_or_default(context), expected);
299+
assert_eq!(input.resolve_or_zero(context), expected);
348300
}
349301

350302
#[rstest]
351303
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Size::NONE, Rect::zero())]
352304
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Size::new(5.0, 5.0), Rect::new(25.0, 25.0, 25.0, 25.0))]
353305
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Size::new(-5.0, -5.0), Rect::new(-25.0, -25.0, -25.0, -25.0))]
354306
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Size::new(0.0, 0.0), Rect::zero())]
355-
fn resolve_or_default_percent(
307+
fn resolve_or_zero_percent(
356308
#[case] input: Rect<Dimension>,
357309
#[case] context: Size<Option<f32>>,
358310
#[case] expected: Rect<f32>,
359311
) {
360-
assert_eq!(input.resolve_or_default(context), expected);
312+
assert_eq!(input.resolve_or_zero(context), expected);
361313
}
362314
}
363315

364-
mod resolve_or_default_rect_dimension_to_rect_f32_via_option {
316+
mod resolve_or_zero_rect_dimension_to_rect_f32_via_option {
365317
use crate::geometry::Rect;
366-
use crate::resolve::ResolveOrDefault;
318+
use crate::resolve::ResolveOrZero;
367319
use crate::style::Dimension;
368320
use rstest::rstest;
369321

@@ -372,38 +324,38 @@ mod tests {
372324
#[case(Rect::auto(), Some(5.0), Rect::zero())]
373325
#[case(Rect::auto(), Some(-5.0), Rect::zero())]
374326
#[case(Rect::auto(), Some(0.0), Rect::zero())]
375-
fn resolve_or_default_auto(
327+
fn resolve_or_zero_auto(
376328
#[case] input: Rect<Dimension>,
377329
#[case] context: Option<f32>,
378330
#[case] expected: Rect<f32>,
379331
) {
380-
assert_eq!(input.resolve_or_default(context), expected);
332+
assert_eq!(input.resolve_or_zero(context), expected);
381333
}
382334

383335
#[rstest]
384336
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), None, Rect::new(5.0, 5.0, 5.0, 5.0))]
385337
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Some(5.0), Rect::new(5.0, 5.0, 5.0, 5.0))]
386338
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Some(-5.0), Rect::new(5.0, 5.0, 5.0, 5.0))]
387339
#[case(Rect::from_points(5.0, 5.0, 5.0, 5.0), Some(0.0), Rect::new(5.0, 5.0, 5.0, 5.0))]
388-
fn resolve_or_default_points(
340+
fn resolve_or_zero_points(
389341
#[case] input: Rect<Dimension>,
390342
#[case] context: Option<f32>,
391343
#[case] expected: Rect<f32>,
392344
) {
393-
assert_eq!(input.resolve_or_default(context), expected);
345+
assert_eq!(input.resolve_or_zero(context), expected);
394346
}
395347

396348
#[rstest]
397349
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), None, Rect::zero())]
398350
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Some(5.0), Rect::new(25.0, 25.0, 25.0, 25.0))]
399351
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Some(-5.0), Rect::new(-25.0, -25.0, -25.0, -25.0))]
400352
#[case(Rect::from_percent(5.0, 5.0, 5.0, 5.0), Some(0.0), Rect::zero())]
401-
fn resolve_or_default_percent(
353+
fn resolve_or_zero_percent(
402354
#[case] input: Rect<Dimension>,
403355
#[case] context: Option<f32>,
404356
#[case] expected: Rect<f32>,
405357
) {
406-
assert_eq!(input.resolve_or_default(context), expected);
358+
assert_eq!(input.resolve_or_zero(context), expected);
407359
}
408360
}
409361
}

0 commit comments

Comments
 (0)