Ejemplo n.º 1
0
        void ShouldExtractDances()
        {
            var parser = new DanceInfoTagParser("Foxtrot", "Waltz");

            Assert.Contains <Dance>(Dances.Foxtrot, parser.Dances);
            Assert.Contains <Dance>(Dances.Waltz, parser.Dances);
        }
Ejemplo n.º 2
0
        void ShouldApplyDanceRatingsWhenSupplied()
        {
            var parser = new DanceInfoTagParser("WC [email protected]", "Social", "Swing");
            var tdis   = parser.GetTagDanceInfo().ToList();

            Assert.Single(tdis);
            Assert.Equal(3.5, tdis[0].FiveStarRating);
        }
Ejemplo n.º 3
0
        void ShouldApplyAppropriateCategoriesToDances()
        {
            var parser = new DanceInfoTagParser("WC Swing", "Social", "Standard", "Swing");
            var tdis   = parser.GetTagDanceInfo().ToList();

            Assert.Single(tdis);
            Assert.Equal(DanceCategories.Social | DanceCategories.Swing, tdis[0].Categories);
        }
Ejemplo n.º 4
0
        void ShouldExtractWhenRatingsArePresent()
        {
            var parser = new DanceInfoTagParser("[email protected]", "Standard@4", "Social", "Big Band@5");

            Assert.Contains <Dance>(Dances.Quickstep, parser.Dances);
            Assert.Equal(DanceCategories.Standard | DanceCategories.Social, parser.Categories);
            Assert.Contains("Big Band@5", parser.UnusedTags);
        }
Ejemplo n.º 5
0
        void ShouldExtractBallroomTag()
        {
            var parser = new DanceInfoTagParser("Waltz", "Smooth", "Standard");

            Assert.False(parser.IsBallroom);
            parser = new DanceInfoTagParser("Ballroom", "Waltz", "Smooth", "Standard");
            Assert.True(parser.IsBallroom);
        }
Ejemplo n.º 6
0
        void ShouldApplyDefaultRatings()
        {
            var parser = new DanceInfoTagParser(127, DanceCategories.None, "Foxtrot", "Smooth", "Social");
            var tdis   = parser.GetTagDanceInfo().ToList();

            Assert.Single(tdis);
            Assert.True(tdis[0].RawRating.HasValue);
            Assert.Equal((uint)127, tdis[0].RawRating.Value);
        }
Ejemplo n.º 7
0
        void ShouldAllowMultipleDances()
        {
            var parser = new DanceInfoTagParser("Foxtrot", "WC Swing", "Smooth", "Social", "Swing");
            var tdis   = parser.GetTagDanceInfo().ToList();

            Assert.Equal(2, tdis.Count);
            var swing   = tdis.Single((t) => t.Dance == Dances.WestCoastSwing);
            var foxtrot = tdis.Single((t) => t.Dance == Dances.Foxtrot);

            Assert.Equal(DanceCategories.Social | DanceCategories.Swing, swing.Categories);
            Assert.Equal(DanceCategories.Social | DanceCategories.Smooth, foxtrot.Categories);
        }
Ejemplo n.º 8
0
        void ShouldApplyCategoryRatingsWhenSupplied()
        {
            var parser = new DanceInfoTagParser("WC [email protected]", "Social", "[email protected]");
            var tdis   = parser.GetTagDanceInfo().ToList();

            Assert.Equal(2, tdis.Count);
            var social = tdis.Single((t) => (t.Categories & DanceCategories.Social) != DanceCategories.None);
            var swing  = tdis.Single((t) => (t.Categories & DanceCategories.Swing) != DanceCategories.None);

            Assert.Equal(4.0, social.FiveStarRating);
            Assert.Equal(3.5, swing.FiveStarRating);
        }
Ejemplo n.º 9
0
        void ShouldMergeDefaultAndSuppliedRatings()
        {
            var defaultRating = TrackRating.FiveStarRatingToRaw(4.0);
            var parser        = new DanceInfoTagParser(defaultRating, DanceCategories.None, "WC [email protected]", "Foxtrot", "Smooth", "[email protected]", "Swing");
            var tdis          = parser.GetTagDanceInfo().ToList();

            Assert.Equal(4, tdis.Count);
            var foxtrots = tdis.Where((t) => t.Dance == Dances.Foxtrot);
            var smooth   = foxtrots.Single((t) => (t.Categories & DanceCategories.Smooth) != DanceCategories.None);
            var social   = foxtrots.Single((t) => (t.Categories & DanceCategories.Social) != DanceCategories.None);

            Assert.Equal(defaultRating, smooth.RawRating);
            Assert.Equal(3.5, social.FiveStarRating);

            var swings = tdis.Where((t) => t.Dance == Dances.WestCoastSwing);
            var swing  = swings.Single((t) => (t.Categories & DanceCategories.Swing) != DanceCategories.None);

            social = swings.Single((t) => (t.Categories & DanceCategories.Social) != DanceCategories.None);
            Assert.Equal(4.5, swing.FiveStarRating);
            Assert.Equal(3.5, social.FiveStarRating);
        }
Ejemplo n.º 10
0
        void ShouldReportUnusedTags()
        {
            var parser = new DanceInfoTagParser("Ballroom", "Quickstep", "Standard", "Big Band");

            Assert.Contains("Big Band", parser.UnusedTags);
        }
Ejemplo n.º 11
0
        void ShouldExtractCategories()
        {
            var parser = new DanceInfoTagParser("Waltz", "Smooth", "Standard");

            Assert.Equal(DanceCategories.Smooth | DanceCategories.Standard, parser.Categories);
        }