小编Dav*_*ope的帖子

Kotlin 是否允许测试类使用反引号名称?

Kotlin/JUnit 宣传使用反引号函数名称进行测试。我发现您还可以使用反引号的类名......

但我找不到任何参考。这是 Kotlin 规范中的某些内容,还是只是一个“可能很快就会消失”的意外功能?

代码示例:

    @Nested
    inner class `when the entity path only specifies one location` {
        @BeforeEach
        fun setup() {
            entity = Entity(
                id = "entityid1",
                name = "entity1",
                type = "type",
                team = TeamColor.BLUE,
                currentLocation = Location(0.0, 10.0, 0.0),
                path = EntityPath(
                    startTime = "00:00:00",
                    timeLocation = listOf(
                        TimeLocation("00:00:00", Location(0.0, 10.0, 0.0)),
                    )
                ),
            )
        }

        @Test
        fun `it returns the first (only) location`() {
            val actualLocation = entityLocator.getEntityLocation(entity, calculation);
            val expectedLocation = Location(0.0, 10.0, 0.0)

            assertEquals(actualLocation, …
Run Code Online (Sandbox Code Playgroud)

junit backticks kotlin

6
推荐指数
1
解决办法
2941
查看次数

WPF ListView 不会在 PropertyChanged 上更新

我有一个 WPF 列表视图,显示材质、厚度以及组合框中的厚度单位...xaml 如下所示(为了清晰起见,我删除了所有可视化设置):

    <ListView ItemsSource="{Binding Path=MaterialLayers}" IsSynchronizedWithCurrentItem="True">
        <ListView.Resources>
            <x:Array x:Key="DistanceUnitItems" Type="sys:String" xmlns:sys="clr-namespace:System;assembly=mscorlib">
                <sys:String>cm</sys:String>
                <sys:String>inches</sys:String>
            </x:Array>
            <DataTemplate x:Key="ThicknessUnit">
                <ComboBox ItemsSource="{StaticResource DistanceUnitItems}" SelectedIndex="{Binding ThicknessUnit}" />
            </DataTemplate>
        </ListView.Resources>
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Material Name" DisplayMemberBinding="{Binding MaterialName}"/>
                <GridViewColumn Header="Material Thickness" DisplayMemberBinding="{Binding MaterialThickness}"/>  />
                <GridViewColumn Header="Thickness Unit" CellTemplate="{StaticResource ThicknessUnit}"  />
            </GridView>
        </ListView.View>
    </ListView>
Run Code Online (Sandbox Code Playgroud)

MaterialLayers是一个ObservableCollection<MaterialLayer>

MaterialLayer 具有 MaterialName、MaterialThickness 和 ThicknessUnit 属性(0 表示厘米,1 表示英寸)。MaterialThickness 将内部存储的值(以厘米为单位)转换为由 ThicknessUnit 指定的单位。

当 ThicknessUnit 更改时,我的 DataViewModel 会调用PropertyChanged以“MaterialLayers”作为属性名称的事件处理程序。

因此,我希望当 ThicknessUnit 更改时,MaterialThickness 会自动更新。

我已经对其进行了调试,并且 PropertyChanged("MaterialLayers") 被调用。(当调用 ThicknessUnit set 方法时,它调用父数据类 (MyData) …

c# wpf binding listview inotifypropertychanged

1
推荐指数
1
解决办法
6025
查看次数

标签 统计

backticks ×1

binding ×1

c# ×1

inotifypropertychanged ×1

junit ×1

kotlin ×1

listview ×1

wpf ×1