CK.Core.Tests.TraitsTests.test_Combined_traits_parsing C# (CSharp) Method

test_Combined_traits_parsing() private method

private test_Combined_traits_parsing ( ) : void
return void
        public void test_Combined_traits_parsing()
        {
            CKTrait m = Context.FindOrCreate( "Beta+Alpha" );
            Assert.That( !m.IsAtomic && m.AtomicTraits.Count == 2, "Combined trait." );
            Assert.That( m.AtomicTraits[0] == Context.FindOrCreate( "Alpha" ), "Atomic Alpha is the first one." );
            Assert.That( m.AtomicTraits[1] == Context.FindOrCreate( "Beta" ), "Atomic Beta is the second one." );

            Assert.That( Context.FindOrCreate( "Alpha+Beta" ) == m, "Canonical order is ensured." );
            Assert.That( Context.FindOrCreate( "+ +\t++ Alpha+++Beta++" ) == m, "Extra characters and empty traits are ignored." );

            Assert.That( Context.FindOrCreate( "Alpha+Beta+Alpha" ) == m, "Multiple identical traits are removed." );
            Assert.That( Context.FindOrCreate( "Alpha+ +Beta\t ++Beta+ + Alpha +    Beta   ++ " ) == m, "Multiple identical traits are removed." );

            CKTrait m2 = Context.FindOrCreate( "Beta+Alpha+Zeta+Tau+Pi+Omega+Epsilon" );
            Assert.That( Context.FindOrCreate( "++Beta+Zeta+Omega+Epsilon+Alpha+Zeta+Epsilon+Zeta+Tau+Epsilon+Pi+Tau+Beta+Zeta+Omega+Beta+Pi+Alpha" ), Is.SameAs( m2 ), "Unicity of Atomic trait is ensured." );

            Assert.That( Context.FindOnlyExisting( "Beta" ).ToString(), Is.EqualTo( "Beta" ) );
            Assert.That( Context.FindOnlyExisting( "Beta+Gamma" ).ToString(), Is.EqualTo( "Beta" ) );
            Assert.That( Context.FindOnlyExisting( "Beta+Gamma+Nimp+Alpha+Other" ), Is.SameAs( m ) );
            Assert.That( Context.FindOnlyExisting( "Beta+Gamma+Nimp+Alpha+Other+Tau+Pi" ).ToString(), Is.EqualTo( "Alpha+Beta+Pi+Tau" ) );
        }