From 041cbdda8dea2332ef7e6d7153c95260da74319a Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:18:51 -0400 Subject: [PATCH 01/13] Add Time64Type proxy class --- .../cpp/arrow/matlab/type/proxy/tim64_type.h | 36 +++++++++++++++ .../arrow/matlab/type/proxy/time64_type.cc | 46 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 matlab/src/cpp/arrow/matlab/type/proxy/tim64_type.h create mode 100644 matlab/src/cpp/arrow/matlab/type/proxy/time64_type.cc diff --git a/matlab/src/cpp/arrow/matlab/type/proxy/tim64_type.h b/matlab/src/cpp/arrow/matlab/type/proxy/tim64_type.h new file mode 100644 index 0000000000000..fff92aa2a14e8 --- /dev/null +++ b/matlab/src/cpp/arrow/matlab/type/proxy/tim64_type.h @@ -0,0 +1,36 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#pragma once + +#include "arrow/matlab/type/proxy/time_type.h" + +namespace arrow::matlab::type::proxy { + +class Time64Type : public arrow::matlab::type::proxy::TimeType { + + public: + Time64Type(std::shared_ptr time64_type); + + ~Time64Type() {} + + static libmexclass::proxy::MakeResult make(const libmexclass::proxy::FunctionArguments& constructor_arguments); + +}; + +} + diff --git a/matlab/src/cpp/arrow/matlab/type/proxy/time64_type.cc b/matlab/src/cpp/arrow/matlab/type/proxy/time64_type.cc new file mode 100644 index 0000000000000..0ec58337622a7 --- /dev/null +++ b/matlab/src/cpp/arrow/matlab/type/proxy/time64_type.cc @@ -0,0 +1,46 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +#include "arrow/matlab/type/proxy/time64_type.h" +#include "arrow/matlab/type/time_unit.h" +#include "arrow/matlab/error/error.h" +#include "arrow/util/utf8.h" + +namespace arrow::matlab::type::proxy { + + Time64Type::Time64Type(std::shared_ptr time64_type) : TimeType(std::move(time64_type)) {} + + libmexclass::proxy::MakeResult Time64Type::make(const libmexclass::proxy::FunctionArguments& constructor_arguments) { + namespace mda = ::matlab::data; + + using Time64TypeProxy = arrow::matlab::type::proxy::Time64Type; + + mda::StructArray opts = constructor_arguments[0]; + + const mda::StringArray timeunit_mda = opts[0]["TimeUnit"]; + + // extract the time unit + const std::u16string& utf16_timeunit = timeunit_mda[0]; + MATLAB_ASSIGN_OR_ERROR(const auto timeunit, + arrow::matlab::type::timeUnitFromString(utf16_timeunit), + error::UKNOWN_TIME_UNIT_ERROR_ID); + + auto type = arrow::time64(timeunit); + auto time_type = std::static_pointer_cast(type); + return std::make_shared(std::move(time_type)); + } +} From dcc551ba47b53b9fa69fd55b5e24cb7c954d4fb3 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:19:41 -0400 Subject: [PATCH 02/13] Update CMake sources --- matlab/tools/cmake/BuildMatlabArrowInterface.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/matlab/tools/cmake/BuildMatlabArrowInterface.cmake b/matlab/tools/cmake/BuildMatlabArrowInterface.cmake index 30d942b86b6ef..c421cb904e607 100644 --- a/matlab/tools/cmake/BuildMatlabArrowInterface.cmake +++ b/matlab/tools/cmake/BuildMatlabArrowInterface.cmake @@ -57,6 +57,7 @@ set(MATLAB_ARROW_LIBMEXCLASS_CLIENT_PROXY_SOURCES "${CMAKE_SOURCE_DIR}/src/cpp/a "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/type/proxy/timestamp_type.cc" "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/type/proxy/time_type.cc" "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/type/proxy/time32_type.cc" + "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/type/proxy/time64_type.cc" "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/type/proxy/field.cc" "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/type/proxy/wrap.cc" "${CMAKE_SOURCE_DIR}/src/cpp/arrow/matlab/io/feather/proxy/writer.cc" From 5d031ce2310d051ed66d2b0b876479edaa16c4aa Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:20:39 -0400 Subject: [PATCH 03/13] Add Time64Type proxy to the factory --- matlab/src/cpp/arrow/matlab/proxy/factory.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/matlab/src/cpp/arrow/matlab/proxy/factory.cc b/matlab/src/cpp/arrow/matlab/proxy/factory.cc index c349962f9c2ce..ec6a544c4fac9 100644 --- a/matlab/src/cpp/arrow/matlab/proxy/factory.cc +++ b/matlab/src/cpp/arrow/matlab/proxy/factory.cc @@ -26,6 +26,7 @@ #include "arrow/matlab/type/proxy/string_type.h" #include "arrow/matlab/type/proxy/timestamp_type.h" #include "arrow/matlab/type/proxy/time32_type.h" +#include "arrow/matlab/type/proxy/time64_type.h" #include "arrow/matlab/type/proxy/field.h" #include "arrow/matlab/io/feather/proxy/writer.h" #include "arrow/matlab/io/feather/proxy/reader.h" @@ -64,6 +65,7 @@ libmexclass::proxy::MakeResult Factory::make_proxy(const ClassName& class_name, REGISTER_PROXY(arrow.type.proxy.BooleanType , arrow::matlab::type::proxy::PrimitiveCType); REGISTER_PROXY(arrow.type.proxy.StringType , arrow::matlab::type::proxy::StringType); REGISTER_PROXY(arrow.type.proxy.TimestampType , arrow::matlab::type::proxy::TimestampType); + REGISTER_PROXY(arrow.type.proxy.Time64Type , arrow::matlab::type::proxy::Time64Type); REGISTER_PROXY(arrow.type.proxy.Time32Type , arrow::matlab::type::proxy::Time32Type); REGISTER_PROXY(arrow.io.feather.proxy.Writer , arrow::matlab::io::feather::proxy::Writer); REGISTER_PROXY(arrow.io.feather.proxy.Reader , arrow::matlab::io::feather::proxy::Reader); From b4efdba511cb9743a4ac61779fbe8faf667b6d3a Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:23:05 -0400 Subject: [PATCH 04/13] Fix type (tim64_type.h -> time64_type.h) --- .../cpp/arrow/matlab/type/proxy/{tim64_type.h => time64_type.h} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename matlab/src/cpp/arrow/matlab/type/proxy/{tim64_type.h => time64_type.h} (100%) diff --git a/matlab/src/cpp/arrow/matlab/type/proxy/tim64_type.h b/matlab/src/cpp/arrow/matlab/type/proxy/time64_type.h similarity index 100% rename from matlab/src/cpp/arrow/matlab/type/proxy/tim64_type.h rename to matlab/src/cpp/arrow/matlab/type/proxy/time64_type.h From 89289224bf8247bf83c11528f806b50cc8eefca3 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:28:32 -0400 Subject: [PATCH 05/13] Add arrow.type.Time64Type MATLAB class --- matlab/src/matlab/+arrow/+type/Time64Type.m | 30 +++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 matlab/src/matlab/+arrow/+type/Time64Type.m diff --git a/matlab/src/matlab/+arrow/+type/Time64Type.m b/matlab/src/matlab/+arrow/+type/Time64Type.m new file mode 100644 index 0000000000000..cdc4f8bf82b06 --- /dev/null +++ b/matlab/src/matlab/+arrow/+type/Time64Type.m @@ -0,0 +1,30 @@ +%TIME64TYPE Type class for time64 data. + +% Licensed to the Apache Software Foundation (ASF) under one or more +% contributor license agreements. See the NOTICE file distributed with +% this work for additional information regarding copyright ownership. +% The ASF licenses this file to you under the Apache License, Version +% 2.0 (the "License"); you may not use this file except in compliance +% with the License. You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +% implied. See the License for the specific language governing +% permissions and limitations under the License. + +classdef Time64Type < arrow.type.TimeType + + methods + function obj = Time64Type(proxy) + arguments + proxy(1, 1) libmexclass.proxy.Proxy {validate(proxy, "arrow.type.proxy.Time64Type")} + end + import arrow.internal.proxy.validate + obj@arrow.type.TimeType(proxy); + end + end + +end \ No newline at end of file From 09348a0efb89dafe139cc0a41d714b9056073b98 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:30:05 -0400 Subject: [PATCH 06/13] Add arrow.time64() constructor function --- matlab/src/matlab/+arrow/time64.m | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 matlab/src/matlab/+arrow/time64.m diff --git a/matlab/src/matlab/+arrow/time64.m b/matlab/src/matlab/+arrow/time64.m new file mode 100644 index 0000000000000..8b4ef90a9002f --- /dev/null +++ b/matlab/src/matlab/+arrow/time64.m @@ -0,0 +1,26 @@ +%TIME64 Creates an arrow.type.Time64Type object + +% Licensed to the Apache Software Foundation (ASF) under one or more +% contributor license agreements. See the NOTICE file distributed with +% this work for additional information regarding copyright ownership. +% The ASF licenses this file to you under the Apache License, Version +% 2.0 (the "License"); you may not use this file except in compliance +% with the License. You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +% implied. See the License for the specific language governing +% permissions and limitations under the License. + +function type = time64(opts) + arguments + opts.TimeUnit(1, 1) arrow.type.TimeUnit {timeUnit("Time64", opts.TimeUnit)} = arrow.type.TimeUnit.Microsecond + end + import arrow.internal.validate.temporal.timeUnit + args = struct(TimeUnit=string(opts.TimeUnit)); + proxy = arrow.internal.proxy.create("arrow.type.proxy.Time64Type", args); + type = arrow.type.Time64Type(proxy); +end From d31cfb7a9e0678f040165c185b124a4333cfe589 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:40:58 -0400 Subject: [PATCH 07/13] Add Time64 enumeration value to arrow.type.ID class --- matlab/src/matlab/+arrow/+type/ID.m | 1 + 1 file changed, 1 insertion(+) diff --git a/matlab/src/matlab/+arrow/+type/ID.m b/matlab/src/matlab/+arrow/+type/ID.m index 0db41ef634368..06d997adc0b7d 100644 --- a/matlab/src/matlab/+arrow/+type/ID.m +++ b/matlab/src/matlab/+arrow/+type/ID.m @@ -35,5 +35,6 @@ % Date64 (17) Timestamp (18) Time32 (19) + Time64 (20) end end From 8dbe6bf72e3a46c892869a89cacb09817aee9ae1 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:45:03 -0400 Subject: [PATCH 08/13] Move help text above license header --- matlab/src/matlab/+arrow/+type/ID.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/matlab/src/matlab/+arrow/+type/ID.m b/matlab/src/matlab/+arrow/+type/ID.m index 06d997adc0b7d..e5b53cfa655bf 100644 --- a/matlab/src/matlab/+arrow/+type/ID.m +++ b/matlab/src/matlab/+arrow/+type/ID.m @@ -1,3 +1,5 @@ +%ID Data type enumeration + % Licensed to the Apache Software Foundation (ASF) under one or more % contributor license agreements. See the NOTICE file distributed with % this work for additional information regarding copyright ownership. @@ -14,7 +16,6 @@ % permissions and limitations under the License. classdef ID < uint64 -%ID Data type enumeration enumeration Boolean (1) UInt8 (2) From 1ba67242ec90451f72ebb8cac489ec62099da4a7 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:52:00 -0400 Subject: [PATCH 09/13] Add test class for arrow.type.Time64Type --- matlab/test/arrow/type/tTime64Type.m | 145 +++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 matlab/test/arrow/type/tTime64Type.m diff --git a/matlab/test/arrow/type/tTime64Type.m b/matlab/test/arrow/type/tTime64Type.m new file mode 100644 index 0000000000000..04b8351db4103 --- /dev/null +++ b/matlab/test/arrow/type/tTime64Type.m @@ -0,0 +1,145 @@ +% Licensed to the Apache Software Foundation (ASF) under one or more +% contributor license agreements. See the NOTICE file distributed with +% this work for additional information regarding copyright ownership. +% The ASF licenses this file to you under the Apache License, Version +% 2.0 (the "License"); you may not use this file except in compliance +% with the License. You may obtain a copy of the License at +% +% http://www.apache.org/licenses/LICENSE-2.0 +% +% Unless required by applicable law or agreed to in writing, software +% distributed under the License is distributed on an "AS IS" BASIS, +% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +% implied. See the License for the specific language governing +% permissions and limitations under the License. + +classdef tTime64Type < hFixedWidthType +% Test class for arrow.type.Time64Type and arrow.time64 + + properties + ConstructionFcn = @arrow.time64 + ArrowType = arrow.time64 + TypeID = arrow.type.ID.Time64 + BitWidth = int32(64) + ClassName = "arrow.type.Time64Type" + end + + methods(Test) + function TestClass(testCase) + % Verify ArrowType is an object of the expected class type. + name = string(class(testCase.ArrowType)); + testCase.verifyEqual(name, testCase.ClassName); + end + + function DefaultTimeUnit(testCase) + % Verify the default TimeUnit is Microsecond. + type = testCase.ArrowType; + actualUnit = type.TimeUnit; + expectedUnit = arrow.type.TimeUnit.Microsecond; + testCase.verifyEqual(actualUnit, expectedUnit); + end + + function SupplyTimeUnitEnum(testCase) + % Verify that TimeUnit can be specified as an enum value. + import arrow.type.* + expectedUnit = [TimeUnit.Microsecond, TimeUnit.Nanosecond]; + + for unit = expectedUnit + type = testCase.ConstructionFcn(TimeUnit=unit); + testCase.verifyEqual(type.TimeUnit, unit); + end + end + + function SupplyTimeUnitString(testCase) + % Supply TimeUnit as a string value. Verify TimeUnit is set to + % the appropriate TimeUnit enum value. + import arrow.type.* + unitString = ["Microsecond", "Nanosecond"]; + expectedUnit = [TimeUnit.Microsecond, TimeUnit.Nanosecond]; + + for ii = 1:numel(unitString) + type = testCase.ConstructionFcn(TimeUnit=unitString(ii)); + testCase.verifyEqual(type.TimeUnit, expectedUnit(ii)); + end + end + + function ErrorIfAmbiguousTimeUnit(testCase) + % Verify that an error is thrown if an ambiguous value is + % provided for the TimeUnit name-value pair. + fcn = @() testCase.ConstructionFcn(TimeUnit="mi"); + testCase.verifyError(fcn, "MATLAB:validation:UnableToConvert"); + end + + function ErrorIfTimeUnitIsNonScalar(testCase) + % Verify that an error is thrown if a nonscalar value is + % provided for the TimeUnit name-value pair. + units = [arrow.type.TimeUnit.Microsecond; arrow.type.TimeUnit.Nanosecond]; + fcn = @() testCase.ConstructionFcn(TimeUnit=units); + testCase.verifyError(fcn, "MATLAB:validation:IncompatibleSize"); + + units = ["Microsecond" "Nanosecond"]; + fcn = @() testCase.ConstructionFcn(TimeUnit=units); + testCase.verifyError(fcn, "MATLAB:validation:IncompatibleSize"); + end + + function Display(testCase) + % Verify the display of Time64Type objects. + % + % Example: + % + % Time32Type with properties: + % + % ID: Time64 + % TimeUnit: Microsecond + % + type = testCase.ConstructionFcn(TimeUnit="Microsecond"); %#ok + classnameLink = "Time64Type"; + header = " " + classnameLink + " with properties:" + newline; + body = strjust(pad(["ID:"; "TimeUnit:"])); + body = body + " " + ["Time64"; "Microsecond"]; + body = " " + body; + footer = string(newline); + expectedDisplay = char(strjoin([header body' footer], newline)); + actualDisplay = evalc('disp(type)'); + testCase.verifyEqual(actualDisplay, expectedDisplay); + end + + function TimeUnitNoSetter(testCase) + % Verify that an error is thrown when trying to set the value + % of the TimeUnit property. + schema = arrow.time64(TimeUnit="Nanosecond"); + testCase.verifyError(@() setfield(schema, "TimeUnit", "Microsecond"), "MATLAB:class:SetProhibited"); + end + + function BitWidthNoSetter(testCase) + % Verify that an error is thrown when trying to set the value + % of the BitWidth property. + schema = arrow.time64(TimeUnit="Nanosecond"); + testCase.verifyError(@() setfield(schema, "BitWidth", 32), "MATLAB:class:SetProhibited"); + end + + function IDNoSetter(testCase) + % Verify that an error is thrown when trying to set the value + % of the ID property. + schema = arrow.time64(TimeUnit="Nanosecond"); + testCase.verifyError(@() setfield(schema, "ID", 15), "MATLAB:class:SetProhibited"); + end + + function NumFieldsNoSetter(testCase) + % Verify that an error is thrown when trying to set the value + % of the NumFields property. + schema = arrow.time64(TimeUnit="Nanosecond"); + testCase.verifyError(@() setfield(schema, "NumFields", 2), "MATLAB:class:SetProhibited"); + end + + function InvalidProxy(testCase) + % Verify that an error is thrown when a Proxy of an unexpected + % type is passed to the arrow.type.Time32Type constructor. + array = arrow.array([1, 2, 3]); + proxy = array.Proxy; + testCase.verifyError(@() arrow.type.Time64Type(proxy), "arrow:proxy:ProxyNameMismatch"); + end + + end + +end From 45ef4616336970d4dba4e6841183b3a71db2e4df Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 14:52:33 -0400 Subject: [PATCH 10/13] Move help text above license header --- matlab/test/arrow/type/tTime64Type.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/matlab/test/arrow/type/tTime64Type.m b/matlab/test/arrow/type/tTime64Type.m index 04b8351db4103..7379bd39ef8f9 100644 --- a/matlab/test/arrow/type/tTime64Type.m +++ b/matlab/test/arrow/type/tTime64Type.m @@ -1,3 +1,5 @@ +%TTIME64TYPE Test class for arrow.type.Time64Type and arrow.time64 + % Licensed to the Apache Software Foundation (ASF) under one or more % contributor license agreements. See the NOTICE file distributed with % this work for additional information regarding copyright ownership. @@ -14,7 +16,6 @@ % permissions and limitations under the License. classdef tTime64Type < hFixedWidthType -% Test class for arrow.type.Time64Type and arrow.time64 properties ConstructionFcn = @arrow.time64 From 5d088606c2a6f43a07b8632e6981d4b17ba267fa Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 15:01:43 -0400 Subject: [PATCH 11/13] Add new tests for Time64 to tID.m --- matlab/test/arrow/type/tID.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/matlab/test/arrow/type/tID.m b/matlab/test/arrow/type/tID.m index 196ad407aabd1..2f463c9fd94ec 100644 --- a/matlab/test/arrow/type/tID.m +++ b/matlab/test/arrow/type/tID.m @@ -43,7 +43,8 @@ function CastToUInt64(testCase) ID.Float64, 12, ... ID.String, 13, ... ID.Timestamp, 18, ... - ID.Time32, 19 ... + ID.Time32, 19, ... + ID.Time64, 20 ... ); enumValues = typeIDs.keys(); From 055b019975bd21d8a490ba23f5a40720877e9523 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 15:07:29 -0400 Subject: [PATCH 12/13] Fix ellipses alignment --- matlab/test/arrow/type/tID.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matlab/test/arrow/type/tID.m b/matlab/test/arrow/type/tID.m index 2f463c9fd94ec..f0014718e3a50 100644 --- a/matlab/test/arrow/type/tID.m +++ b/matlab/test/arrow/type/tID.m @@ -43,7 +43,7 @@ function CastToUInt64(testCase) ID.Float64, 12, ... ID.String, 13, ... ID.Timestamp, 18, ... - ID.Time32, 19, ... + ID.Time32, 19, ... ID.Time64, 20 ... ); From a3b875358b13a394cfb53df8ccc838acc09fa444 Mon Sep 17 00:00:00 2001 From: Sarah Gilmore Date: Mon, 21 Aug 2023 15:09:02 -0400 Subject: [PATCH 13/13] Fix typos (Time32 -> Time64) --- matlab/test/arrow/type/tTime64Type.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/matlab/test/arrow/type/tTime64Type.m b/matlab/test/arrow/type/tTime64Type.m index 7379bd39ef8f9..1b3998c5171f5 100644 --- a/matlab/test/arrow/type/tTime64Type.m +++ b/matlab/test/arrow/type/tTime64Type.m @@ -88,7 +88,7 @@ function Display(testCase) % % Example: % - % Time32Type with properties: + % Time64Type with properties: % % ID: Time64 % TimeUnit: Microsecond @@ -135,7 +135,7 @@ function NumFieldsNoSetter(testCase) function InvalidProxy(testCase) % Verify that an error is thrown when a Proxy of an unexpected - % type is passed to the arrow.type.Time32Type constructor. + % type is passed to the arrow.type.Time64Type constructor. array = arrow.array([1, 2, 3]); proxy = array.Proxy; testCase.verifyError(@() arrow.type.Time64Type(proxy), "arrow:proxy:ProxyNameMismatch");