public void test_Fallbacks_generation()
{
{
CKTrait m = Context.FindOrCreate( "" );
IReadOnlyList<CKTrait> f = m.Fallbacks.ToArray();
Assert.That( m.FallbacksCount, Is.EqualTo( f.Count ) );
Assert.That( f.Count == 1 );
Assert.That( f[0].ToString() == "" );
}
{
CKTrait m = Context.FindOrCreate( "Alpha" );
IReadOnlyList<CKTrait> f = m.Fallbacks.ToArray();
Assert.That( m.FallbacksCount, Is.EqualTo( f.Count ) );
Assert.That( f.Count == 1 );
Assert.That( f[0].ToString() == "" );
}
{
CKTrait m = Context.FindOrCreate( "Alpha+Beta" );
IReadOnlyList<CKTrait> f = m.Fallbacks.ToArray();
Assert.That( m.FallbacksCount, Is.EqualTo( f.Count ) );
Assert.That( f.Count == 3 );
Assert.That( f[0].ToString() == "Alpha" );
Assert.That( f[1].ToString() == "Beta" );
Assert.That( f[2].ToString() == "" );
}
{
CKTrait m = Context.FindOrCreate( "Alpha+Beta+Combo" );
IReadOnlyList<CKTrait> f = m.Fallbacks.ToArray();
Assert.That( m.FallbacksCount, Is.EqualTo( f.Count ) );
Assert.That( f.Count == 7 );
Assert.That( f[0].ToString() == "Alpha+Beta" );
Assert.That( f[1].ToString() == "Alpha+Combo" );
Assert.That( f[2].ToString() == "Beta+Combo" );
Assert.That( f[3].ToString() == "Alpha" );
Assert.That( f[4].ToString() == "Beta" );
Assert.That( f[5].ToString() == "Combo" );
Assert.That( f[6].ToString() == "" );
}
{
CKTrait m = Context.FindOrCreate( "Alpha+Beta+Combo+Fridge" );
IReadOnlyList<CKTrait> f = m.Fallbacks.ToArray();
Assert.That( m.FallbacksCount, Is.EqualTo( f.Count ) );
Assert.That( f.Count == 15 );
Assert.That( f[0].ToString() == "Alpha+Beta+Combo" );
Assert.That( f[1].ToString() == "Alpha+Beta+Fridge" );
Assert.That( f[2].ToString() == "Alpha+Combo+Fridge" );
Assert.That( f[3].ToString() == "Beta+Combo+Fridge" );
Assert.That( f[4].ToString() == "Alpha+Beta" );
Assert.That( f[5].ToString() == "Alpha+Combo" );
Assert.That( f[6].ToString() == "Alpha+Fridge" );
Assert.That( f[7].ToString() == "Beta+Combo" );
Assert.That( f[8].ToString() == "Beta+Fridge" );
Assert.That( f[9].ToString() == "Combo+Fridge" );
Assert.That( f[10].ToString() == "Alpha" );
Assert.That( f[11].ToString() == "Beta" );
Assert.That( f[12].ToString() == "Combo" );
Assert.That( f[13].ToString() == "Fridge" );
Assert.That( f[14].ToString() == "" );
}
}